WO2011004566A1 - バス制御装置 - Google Patents
バス制御装置 Download PDFInfo
- Publication number
- WO2011004566A1 WO2011004566A1 PCT/JP2010/004290 JP2010004290W WO2011004566A1 WO 2011004566 A1 WO2011004566 A1 WO 2011004566A1 JP 2010004290 W JP2010004290 W JP 2010004290W WO 2011004566 A1 WO2011004566 A1 WO 2011004566A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bus
- output
- transmission
- control device
- bus control
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
Definitions
- the present invention relates to an apparatus, method, and program for controlling a communication bus in a semiconductor chip having a networked communication bus.
- a bus control method is used in which bus masters are connected to each other via a broadband centralized bus and the bus bar is assigned to a data transfer target bus master pair by switching the crossbar switch.
- this bus control system has problems such as an increase in wiring delay due to the routing of the bus wiring, an increase in the area of the crossbar switch, and an increase in power consumption.
- the centralized bus design there is a problem that the average bus utilization efficiency is not improved, the bus operating frequency is increased, and the power consumption of the bus portion is increased. The reason is that the operating frequency of the bus is designed so as to guarantee the maximum data transfer amount requested by each bus master.
- NoC Network on Chip
- FIGS. 1A and 1B show a part of the configuration of the NoC bus.
- FIG. 1A is a diagram illustrating a hardware connection configuration example
- FIG. 1B is a schematic diagram thereof. 1A and 1B show that the bus masters 1a to 1c provided on the chip 10 are connected to the bus 3 via the bus control device (R) 2, respectively. .
- bath of the following drawing of this application is described with the schematic diagram shown in FIG.1 (b).
- FIG. 2 shows a configuration example of a NoC bus in which bus masters are coupled in a two-dimensional mesh type.
- bus master such as a microprocessor, a DSP, a memory, and an input / output circuit
- a bus control device R that controls the data transfer path is arranged, and the bus control devices R are connected (linked) with a short wiring.
- FIG. 3 shows three routes (1) to (3) from the transmission source to the transmission destination.
- FIG. 4 shows routes from one transmission source to three transmission destinations (1) to (3).
- Patent Document 1 discloses a method for selecting a plurality of data transfer paths in accordance with a bus state on a bus connecting a plurality of bus masters.
- data to be transferred is transferred in frame units from a transmission source bus master to a reception destination bus master. If the frame is normally received at the receiving destination, acknowledge data is returned, otherwise no acknowledge data is returned.
- the transmission source bus master does not return the acknowledge data, it detects a frame transfer failure, selects another transmission path, and retransmits the frame. This makes it possible to continue communication. If an error is detected in the header of the received frame, the frame is discarded by the destination bus master, so that the transmission source bus master does not receive the acknowledge data.
- the bus master of the transmission source uses a transfer delay time, an error occurrence state, etc. as an evaluation index, and uses a self-directed path that provides the best data transfer status. Make a selection.
- the first problem is that the operation load of the bus control devices at both ends of the link becomes high and the data transfer latency increases in a link with a large flow rate.
- the latency of data transfer between the bus masters determines the operation speed of the bus master. For example, in the case of data transfer between the processor and the memory, the processing performance is lowered due to an increase in the wait cycle of the processor corresponding to the memory access latency.
- the second problem is that it is necessary to design the bus operating frequency higher in accordance with the high flow rate link. As the bus operating frequency increases, it becomes difficult to control the wiring delay and crosstalk, and the design man-hours and verification man-hours increase.
- the third problem is that the power consumption of the link increases as the bus operating frequency increases.
- the power consumption P of the transistors constituting the link is expressed by Equation 1 when the switching rate ⁇ , the circuit capacitance C, the power supply voltage V, and the operating frequency f are used.
- the power supply voltage can be reduced according to the relationship shown in Equation 2.
- the present invention has been made to solve the above-described problems, and an object of the present invention is to provide a bus control device capable of eliminating the uneven data flow rate between links.
- a bus control device is a bus control device that is provided between a bus master and a networked communication bus and controls a transmission path of a packet that flows through the communication bus.
- a data receiving unit that receives information related to the output status from a plurality of other bus control devices existing above, and a route that calculates a uniformization index indicating variation in the transmission flow rate of each transmission route based on the information related to the output status
- a load detection unit a route determination unit that determines a plurality of transmission routes in which the transmission flow rate is adjusted based on the equalization index, a packet configuration unit that generates a packet based on data received from the bus master,
- a data output unit for outputting the packet from any one of a plurality of output ports each connected to a different communication bus; and the plurality of output ports. From the bets, and a header analysis unit for determining one to the connected output port of the selected transmission path based on the destination information of the packet.
- the bus control device may further include an output monitoring unit that notifies information related to a data output status of the data output unit in accordance with requests from the plurality of other bus control devices.
- the path load detection unit may calculate a uniformization index based on the average value in an output situation from the output monitoring unit, including at least an average value of transfer frequencies for each priority of flows to be output. .
- the path load detection unit includes at least an average value and a maximum value of transfer frequencies for each priority of flows to be output, and a uniformization index based on the average value and the maximum value in the output status from the output monitoring unit May be calculated.
- the path load detection unit may include a parameter that defines the reliability of the evaluation value caused by the statistical multiplexing effect included in the uniformization index.
- the path load detection unit detects deterioration of the transfer status of the packet, adjusts the parameter that defines the reliability, and adjusts the parameter stochastically when the transfer status is not improved by adjusting the parameter May be.
- the output monitoring unit may notify the information using a reception of a request for information on the output status issued at a predetermined timing as a trigger.
- the path load detection unit transmits an output status notification transmission condition to the output monitoring unit in advance, and the output monitoring unit is previously notified of a condition for transmitting a request for information on the output status, When the transmission condition is satisfied, the information may be notified.
- the path load detection unit calculates an evaluation value related to the transmission flow rate of each transmission path by adding a weight according to the priority of the flow of each transmission path to the information related to the output status, You may calculate the equalization parameter
- the path load detecting unit calculates a statistical value using an evaluation value related to a transmission flow rate of each transmission path, and determines whether or not a relationship between the transmission paths is uniform using the statistical value. Also good.
- the path load detection unit may calculate a uniformization index indicating a variation in the transmission flow rate of each transmission path based on the information on the output status and the information on the data characteristics of the transmission path to be selected.
- a simulation program is a simulation program for a bus control device that is provided between a bus master and a networked communication bus and controls a transmission path of a packet flowing through the communication bus.
- the bus control device monitors the output status of other bus control devices on a plurality of available transmission paths, and uses it as a uniformization index that is a variation in the transmission flow rate between the transmission paths. Based on this, the data transmission path is switched. As a result, the flow rate deviation between the links that make up the NoC bus is automatically suppressed, so the data transfer load is made uniform across the entire bus and the increase in communication delay time and latency due to load concentration on specific links is suppressed. It is done.
- the link operating frequency is reduced, the bus design can be facilitated and the power consumption of the bus during data transfer can be reduced. Further, by combining with a link frequency dynamic control technique, the power consumption of the bus can be further efficiently reduced.
- the load distribution effect of the bus master can be obtained by equalizing the path load to the bus master providing the equivalent function in consideration of the statistical multiplexing effect. Therefore, by applying the present invention to a distributed memory architecture, it is possible to avoid bottlenecks due to access concentration while ensuring reliability with respect to the allowable latency of memory access.
- FIG. 3 is a diagram showing three routes (1) to (3) from a transmission source to a reception destination. It is a figure which shows each path
- (A) is a figure which shows the data transfer path
- (b) is a figure which shows the data transfer path
- (c) is a figure of a network game. It is a figure which shows the data transfer path
- FIG. 9 is a diagram showing a state where data transfer A is newly added to FIG. 8. It is a figure which shows the adjustment result of the data transfer amount by Embodiment 1. It is a figure which shows the partial route figure for demonstrating the operation
- FIG. 5 shows an example in which a system semiconductor mounted on a mobile phone terminal is configured using a NoC bus.
- the description format of the drawing is in accordance with FIG.
- the bus masters are connected to the respective bus control devices R on a one-to-one basis.
- bus control devices that do not connect the bus masters and perform only relay processing may be mixed.
- bus master When a bus master is connected to the bus control device R, a unique address is given to each bus master, but when no bus master is connected, a virtual unique address is assigned to the bus control device. An address may be given. In this specification, both cases are expressed as a bus master address.
- FIG. 6A shows a data transfer path in an application for watching 1Seg TV.
- Data transfer processing B with the bus master M11 as the transmission source and the bus master M14 as the reception destination is performed along the path indicated by the arrow.
- FIG. 6B shows a data transfer path in the network communication thread of the full browser for mobile phones. This shows that the data transfer process C with the bus master M21 as the transmission source and the bus master M24 as the reception destination is performed along the path indicated by the arrow.
- FIG. 6C shows a data transfer path when the network game client program communicates with a remote server. It shows that the data transfer process D with the bus master M23 as the transmission source and the bus master M34 as the reception destination is performed along the path indicated by the arrow.
- the data transfer processes B, C and D are executed simultaneously in parallel by a multi-threaded OS or hardware having a parallel processing configuration.
- FIG. 7 shows that three selection candidate routes that can be used are defined when data is transferred from the transmission source M21 to the reception destination M24.
- each selection candidate route is expressed as route (1), route (2), and route (3).
- FIG. 8 shows the data transfer amount for each selection candidate path between the bus masters M21 to M24 in a state where the data transfer processes B, C, and D occur simultaneously.
- the data transfer amount of the route may be the maximum value of the data transfer amount of each link on the route. For example, if the data transfer amount of the link between the bus control devices R33 and R34 shown in FIG. 6C is larger than the data transfer amount of each of the other links on the route (3), the route (3) The data transfer amount is defined as the data transfer amount of the link between R33 and R34.
- FIG. 9 shows a data transfer path during moving image reproduction. As shown in FIG. 9, the data transfer process A with the bus master M12 as the transmission source and the bus master M23 as the reception destination is started along the path indicated by the arrow.
- FIG. 10 shows a state in which a plurality of data transfer processes occur simultaneously on the chip.
- FIG. 11 shows a state in which data transfer A is newly added to FIG. According to FIG. 11, the route (2) with the smallest data transfer amount in FIG. 8 is selected as the data transfer route of the moving image playback thread.
- the data transfer amount is adjusted so that the data transfer amount of the plurality of paths is uniform.
- FIG. 12 shows the adjustment result of the data transfer amount according to the present embodiment. As shown in FIG. 12, by controlling the data transfer amounts of the three paths so as to be uniform, data transfer can be performed at a lower operating frequency, and power consumption can be reduced.
- FIG. 13 shows a partial route diagram for explaining the details of the operation for eliminating the deviation of the route flow rate between the links and equalizing.
- a part of FIG. 10 is taken out and described.
- the configuration of the entire system semiconductor is as shown in FIG. Wiring, a bus master, and a bus control device that are not depicted in FIG. 13 are merely omitted, and exist as shown in FIG.
- the bus control device R21 connected to the transmission source bus master M21 performs three predefined routes (1), (2), and (3) with the bus master M24 that is a data transfer target as a reception destination. To collect the route load status. The route load status is performed by collecting output information managed by each bus control device. When the collection of the output information of each route is completed, the bus control device R21 evaluates the uniformity of the route by calculating and comparing the flow rate evaluation value of each route. In the non-uniform state, the bus control device R21 prevents the data transfer from being biased by switching the data transfer path to the path having the highest uniformity, and the transfer data is transferred to the entire bus. Is controlled to be distributed.
- FIG. 14 shows the configuration of the bus control device 2 according to the present embodiment.
- the bus control device 2 includes a route load detection unit 101, a route determination unit 102, a packet configuration unit 103, a data reception unit 104, a header analysis unit 105, a data output unit 106, and an output monitoring unit 107. ing. Hereinafter, the function of each component will be described.
- Packet configuration unit 103 Data transfer on the networked NoC bus is performed in units of packets.
- the packet configuration unit 103 generates a packet based on data received from a bus master connected to itself.
- FIG. 15 shows a configuration example of a packet.
- the packet is configured by a trailer that stores a header, a payload that is a substance of data to be exchanged between the bus masters, an error detection code, and the like. Of these, payloads and trailers are not essential.
- the header includes the following information. However, the address other than the address of the receiving bus master is not essential.
- Protocol type ⁇ Address assigned to destination bus master and bus controller ⁇ Address assigned to source bus master and bus controller ⁇ Label information assigned to the same application or a series of packets for the same purpose ⁇ Same label Packet sequence number, which is number information that is unique to the packet group having information and assigned in order of transmission time, priority and additional information that is the level of latency that the packet allows at the time of transfer, and -Payload length indicating the presence or absence of the following payload and the length of the payload
- the protocol type is an identification code indicating whether the packet is for the purpose of data transfer between bus masters, a request for output information for the purpose of path load detection, or a notification.
- transfer data packet output information request packet
- output information notification packet output information notification packet
- the packet configuration unit 103 configures a transfer data packet in accordance with the format shown in FIG. 15 according to the data transfer request issued from the bus master connected to the packet configuration unit 103, and sends it to the header analysis unit 105.
- the packet configuration unit 103 configures an output information request packet in accordance with the format shown in FIG. 15 according to the output information collection request issued from the path load detection unit 101, and sends it to the header analysis unit 105. Further, the packet configuration unit 103 configures an output information notification packet in accordance with the format shown in FIG. 15 according to the output information notification request issued from the output monitoring unit 107, and sends it to the header analysis unit 105.
- the data receiving unit 104 receives a transfer data packet and an output information notification packet from one or a plurality of input links to which the data receiving unit 104 is connected, and sends the packet to the header analysis unit 105.
- the data receiving unit 104 receives a transfer data packet and an output information notification packet from one or a plurality of input links to which the data receiving unit 104 is connected, and sends the packet to the header analysis unit 105.
- four input ports E, W, S, and N are shown, but any number of input ports may be used as long as it is one or more. Each input port is connected to an output port of a different other bus control device.
- the header analysis unit 105 collates the protocol type of the packet passed by the data reception unit 104 and specifies the type of packet.
- the packet is any one of a transfer data packet, an output information request packet, and an output information notification packet.
- the header analysis unit 105 refers to an address (reception destination address) indicating a destination bus master. As a result, if the destination is a packet to the bus master to which it is connected, the header analysis unit 105 extracts the payload portion and sends it to the bus master. If the destination is not a packet to the bus master to which it is connected, the header analysis unit 105 presents the address of the destination bus master to the route determination unit 102 and determines an output port to which the packet is to be output.
- the header analysis unit 105 refers to the reception destination address.
- the header analysis unit 105 requests the output monitoring unit 107 to notify the output information, and the transmission source stored in the packet header is requested.
- the header analysis unit 105 presents the address of the destination bus master to the route determination unit 102 and receives a notification of the output port that should output the packet. .
- the header analysis unit 105 selects an output port.
- an output port to which a packet is to be output may be selected based on them.
- the header analysis unit 105 refers to the destination bus master address. As a result, when the destination is a packet to the bus master to which it is connected, the header analysis unit 105 stores the source bus master address and payload stored in the packet header in the path load detection unit 101. Send output information. On the other hand, if the destination is not a packet to the bus master to which it is connected, the header analysis unit 105 presents the address of the destination bus master to the route determination unit 102, and the port notified from the route determination unit 102 Determine the output port to output the packet.
- the data output unit 106 switches the wiring to the output port presented by the header analysis unit 105 and sends the packet as a signal onto the bus. In addition, when the transmission delay of the data transfer packet occurs due to the congestion of the route, the data output unit 106 delays the transfer of the low-priority data transfer packet, so that the data transfer packet is prioritized in descending order of priority Perform the transfer.
- the output monitoring unit 107 monitors the status of each output port of the data output unit 106 in response to the output information notification request received from the header analysis unit 105. Data transfer packets sent from a plurality of bus masters are mixedly output to each output port, and data transfer packets having the same label information can be identified as the same flow.
- flow refers to a series of data transfer packets transmitted from the transmission source bus master to the reception destination bus master for the same purpose such as execution of applications and tasks, and has different allowable latencies for each flow.
- the level of allowable latency required by the flow is indicated by the priority stored in the packet header. For example, it has a high priority for signal processing applications that require real-time performance, and a low priority for file transfer applications using a background process.
- the priority may be fixed for each application, may be changed for each thread constituting the application, or may be changed for each smaller processing unit determined by a programmer or a compiler.
- the transmission rate of each flow is not constant and usually varies depending on the flow. Further, even in the same flow, the transmission rate usually varies with time.
- FIG. 16 shows an example of information described in the payload of the output information notification packet.
- the output monitoring unit 107 creates the information shown in FIG. 16 for the corresponding output port when receiving the output information request packet addressed to itself from another bus control device, and notifies the transmission source bus control device. To do.
- the output information is composed of a plurality of entries, and each entry corresponds to the priority of the packet. For each priority level, the time average, maximum value, and minimum value of the number of bus cycles of the output port required to transmit a packet of such priority are reported.
- the output port information to be reported may be a value calculated based on an actual measurement value measured by the output monitoring unit 107 as shown in the present embodiment, or based on a flow specification notified as additional information by the bus master. Value may be used.
- FIG. 17 shows an example of a protocol used when the bus control device R21 collects output information on the route (2) leading to the bus master M24.
- “MA” in the figure is a unique address on the NoC assigned to the bus master. The bus control device can also be specified by this address.
- the output information request packet transmitted on the route (2) by the transmission source bus control device R21 is forwarded to the bus control device R24 at the route end point through the bus control devices R22 and R23 on the route (2).
- Each bus control device R22, R23 returns an output information notification packet related to the output port connected to the link to the next bus control device on the route (2) and sends an output information request packet on the route (2). Forward to the next bus controller.
- the bus control device R24 at the end of the route discards the output information request packet.
- the path load detection unit 101 transmits output information request packets to all transmission candidate paths by using the reception destination address and transmission candidate path information of each flow sent by the bus master connected to the path load detection unit 101.
- the timing for transmitting the output information request packet may be periodically performed at regular intervals.
- the path load detection unit 101 stores the return condition of the output information notification packet in the output information request packet, and returns the output information notification packet when each bus control device on the path satisfies the return condition.
- a trap method may be used.
- the reply condition may be that the amount of change in the number of occupied cycles of the data transfer packet exceeds a certain threshold.
- each bus control device on each path returns an output information notification packet to the bus control device R21 according to the protocol shown in FIG. Therefore, the bus control unit R21 from i th j th bus controller on the path, for each priority [delta], it is possible to collect the output information omega ij shown in FIGS 16.
- P be the weighting coefficient matrix and p ij represent the elements of the matrix.
- Each row of P corresponds to each element of the output information vector ⁇ ij , and each column corresponds to a priority ⁇ .
- time average, maximum value, and minimum value the number of rows of P is 3, and flows are assigned high priority, medium priority, and low priority.
- the number of columns of P is 3.
- Equation 5 the flow rate evaluation value ⁇ ij of the j-th link on the route i is expressed by Equation 5.
- Equation 5 e is a vector in which all elements are 1.
- the flow rate evaluation value ⁇ i of the route i may be defined as the maximum value of the flow rate evaluation values of the links on the route.
- the path load detection unit 101 can appropriately evaluate the flow rate of each path.
- the path load detection unit 101 controls the flow path so as to equalize the flow rate evaluation value, so that the data transfer amount is equalized over the entire bus, and the bus operating frequency is reduced and the power consumption is reduced. can get.
- the path load detection unit 101 may determine each coefficient value of the weighting coefficient matrix based on the information. For example, if it is known that each bus master generates only flows that do not vary in time, the average, maximum, and minimum values of each flow match, so only the average value can be reflected in the flow evaluation. It ’s fine.
- the weighting coefficient matrix P can be defined as in Expression 7.
- Equation 9 The flow rate evaluation value ⁇ i of the path i when using the weighting coefficient matrix of Equation 8 is as shown in Equation 9 from Equation 5 and Equation 6.
- ⁇ self in the equation is a priority of the control target flow.
- the flow rate has the maximum value among the time variation characteristics, and the flow rate is detected by the path load detection unit 101. It is shown that it is evaluated by. Further, this weighting coefficient matrix indicates that an average value evaluation based on the priority control performed by the data output unit 106 is performed for a flow having a lower priority than the control target flow itself.
- the weighting coefficient matrix shows that the mode evaluation is performed on the premise that the time variation characteristic follows the beta distribution for the flow having the same priority as the self. Equations (7) and (8) do not limit the method of defining the weighting coefficient matrix, and an optimal P may be defined in accordance with the assumed flow characteristics.
- a threshold may be introduced as an index for determining whether the relationship between the three selection candidate paths is uniform or not.
- the statistical value ⁇ shown in Equation 10 may be used.
- R in the formula indicates the number of selection candidate routes.
- the route load detection unit 101 may determine that the uniformity between routes is impaired.
- the path load detection unit 101 detects that the control target flow itself has moved to a selection candidate path other than the transmission path that is currently transmitting the data transfer packet. Calculate a virtual value of ⁇ . Then, the route load detection unit 101 compares them, determines a selection candidate route having the largest value of ⁇ as a switching destination route, presents it to the route determination unit 102, updates the route table, and switches the route. To do.
- FIG. 18 is a diagram showing the above processing flow of the path load detection unit 101.
- step S1 the path load detection unit 101 starts an automatic path switching process.
- step S2 the route load detecting unit 101 transmits output information request packets to all the transmission candidate routes, so that output information regarding each transmission candidate route is obtained from each relay router on the route. collect.
- steps S3 to S5 processing for each route is performed. Specifically, in step S4, the path load detection unit 101 calculates a flow rate evaluation value ⁇ i for each path.
- step S6 the path load detection unit 101 calculates a uniformity index ⁇ between paths.
- step S7 the path load detection unit 101 determines whether or not the uniformity index ⁇ has fallen below a predefined threshold value ⁇ th. That is, when the uniformity index ⁇ falls below the threshold ⁇ th, it is determined that the path switching is necessary because the uniformity is impaired. At this time, the process proceeds to step S8. On the other hand, if the uniformity index ⁇ is not less than the threshold ⁇ th, the process proceeds to step S11, and the process is terminated without switching the path at that time.
- step S8 the path load detection unit 101 calculates a value of the virtual uniformity index ⁇ when the flow of the user moves to the selection candidate path, and compares them.
- step S9 the route load detection unit 101 determines a selection candidate route having the largest value of ⁇ as a switching destination route. As a result, the route load detection unit 101 issues a processing request to the route determination unit in step S10.
- step S11 the path load detecting unit 101 repeats the processing from step S1 again.
- the uniformity index ⁇ is calculated using a flow rate evaluation value ⁇ weighted in consideration of priority. When it is determined that the uniformity is impaired based on the index ⁇ , the path is switched appropriately. Thereby, it is possible to prevent the occurrence of bias in data transfer.
- feedback control is performed on each element of the weighting coefficient matrix P by monitoring the time ratio in which the value of ⁇ indicating the uniformity between the transmission candidate paths is below the threshold and detecting that the uniformity control is not effective. May work.
- the route determination unit 102 manages the route table, searches the route table based on the destination address presented by the packet configuration unit 103, and notifies the packet configuration unit 103 of the output port associated with the bus control device to be the next hop. .
- FIG. 19 shows an example of a route table managed by the route determination unit 102 of the bus control device R21.
- Three selection candidate routes are defined as routes to the bus master M24 located at the destination address MA24.
- the address of the bus control device that becomes each next hop of this selection candidate route, the corresponding output port, the list of addresses of the bus control device that hops until reaching the end point address, the route on which the data transfer packet is actually transmitted The selection information indicating is recorded and managed.
- the route determination unit 102 presents a destination address, a list of selection candidate routes, and a hop list in accordance with a request from the route load detection unit 101, and provides information on a route necessary for transmission of the output information request packet. Further, according to the information of the switching destination route presented from the route load detecting unit 101, the route table transmission information is changed by updating the selection information of the route table.
- the bus control device 2 since the flow rate deviation between the links constituting the NoC bus is automatically suppressed, the data transfer load is made uniform over the entire bus, and communication by load concentration on a specific link is performed. Increase in delay time and latency can be suppressed.
- the link operating frequency By reducing the link operating frequency, the bus design can be facilitated and the power consumption of the bus during data transfer can be reduced.
- the power consumption of the bus can be further efficiently reduced.
- the load distribution effect of the bus master can be obtained by equalizing the path load to the bus master providing the equivalent function in consideration of the statistical multiplexing effect. Therefore, by applying the present invention to a distributed memory architecture, it is possible to avoid bottlenecks due to access concentration while ensuring reliability with respect to allowable latency of memory access.
- FIG. 20 shows an example of a configuration in which the present invention is applied to a distributed memory architecture.
- Three processors UP11, UP12, UP13 and three shared memory modules MEM31, MEM32, MEM33 are connected via a network of 3 ⁇ 3 mesh type bus control devices.
- the processor allocates a memory area required at the time of starting the task on one of the memory modules, and releases the allocated area at the end of the task.
- the access rate varies among the memory modules, the operating frequency of the access bus to the memory module where the access is concentrated increases, and there are problems in terms of design and power consumption. It becomes.
- By performing the allocation process so that the access rate between the memory modules is as uniform as possible when the memory is allocated by the processor, it is possible to obtain the effect of reducing the operating frequency of the access bus and reducing the power consumption.
- the configuration of the bus control device constituting the distributed memory network according to the present embodiment is the same as the configuration of the bus control device 2 of the first embodiment shown in FIG. 14 except for the points specifically described below. Description of common functions is omitted.
- Packet configuration unit 103 In the present embodiment, as a precondition, it is assumed that an average rate and a maximum rate, which are rate characteristics of each flow between the processor and the memory module, are pre-designed, and each flow has the same priority. When flows corresponding to a plurality of priorities coexist, they may be handled in the same manner as in the first embodiment. As shown in FIG. 15, the packet configuration unit 103 in the processor-side bus control device stores the flow rate characteristics presented from the task on the processor as additional information in the header of the data transfer packet and transmits it. . As a result, the rate characteristic of the access flow is transmitted to the bus controller on the memory module side.
- Output monitoring unit 107 The output monitoring unit 107 in the memory module side bus control device manages the evaluation formulas shown in Equations 11 and 12 based on the rate characteristics for each access flow transmitted from the processor side bus control device.
- ⁇ ij is the average rate and maximum rate value for the j th access flow of the i th memory module
- p ij is the total number of access flows assigned to the i th memory module
- ⁇ i and p i are an average rate evaluation formula and a maximum rate evaluation formula of the i-th memory module.
- the rate characteristics of the access flow transmitted from the bus control device may include information that can be calculated in advance at the time of design.
- Such information includes, for example, applications running on the SoC, average rates generated by signal processing modules, maximum rates, minimum rates, standard deviations of access rates, processing priorities, and acceptable access latencies. it can.
- Equations 11 and 12 may be calculated by actually measuring the average value or maximum value of the rates.
- the output monitoring unit 107 in the bus controller on the memory module side may measure and manage the access latency to the connected memory.
- the access latency may be represented by the number of cycles required from when the data receiving unit 104 receives a data transfer packet indicating a data read or write request from the processor to when the corresponding read or write operation is completed.
- the output monitoring unit 107 detects a state in which a sufficient margin cannot be secured for the access flow latency request specified by the priority stored in the header of the data transfer packet, the requesting processor By urgently transmitting an output information notification with the bus control device address as the reception destination address, the processor side may be notified of a decrease in access quality.
- the path load detection unit 101 transmits an output information request packet to the bus control device of each memory module, triggered by a memory area securing event for the processor to allocate a memory access flow with an average rate ⁇ t and a maximum rate pt. With this output information request packet, the evaluation values shown in FIG. 21 are collected. An example of a protocol for collecting output information is shown in FIG.
- the flow rate evaluation value ⁇ i of the i-th memory considering the time variation of the flow is expressed by Equation 13.
- M in the equation is an adjustment coefficient for balancing the strength and reliability of the statistical multiplexing effect between a plurality of flows assigned to the same memory.
- N in the formula represents the number of memory modules.
- the statistical multiplexing effect considering the time variation of the flow can be most expected, and the uniformity of the access rate between the memories can be improved.
- the path load detection unit 101 notifies the processor that the qth memory has been allocated to the corresponding task.
- the task on the processor recognizes the transmission destination address when transmitting the data transfer packet to the memory as the address of the qth memory.
- the flow rates Si of each memory after virtual allocation as represented by Equations 14 and 15. are compared to determine the memory to which the actual flow is allocated.
- the relationship between the already assigned flow group and the access flow to be assigned can be considered for each memory, so that a more appropriate assignment destination memory can be selected. For example, consider a situation in which an access flow with a large time fluctuation is newly allocated. Even if the flow rate before allocation is large, it is better to select a route that has been assigned a flow group with a large time fluctuation than a memory to which a flow group with a small time fluctuation is assigned, because of the statistical multiplexing effect. Utilization efficiency can be improved. By determining the allocation destination memory based on the uniformity after the virtual allocation, it is possible to cope with such a situation.
- the path load detection unit 101 that has received the emergency output information notification packet for degradation in access quality transmitted from the output monitoring unit 107 in the bus control device on the memory module side, uses Equation 13 and Formula 14 based on the information.
- the value of the included adjustment coefficient m is dynamically controlled. Thereby, the reliability regarding access quality can be improved.
- An initial value of the adjustment coefficient m managed by the path load detection unit 101 is defined by Equation 19. The initial value of m may be set to 5, for example.
- ⁇ is initialized by Equation 20 as a parameter variable for controlling m.
- the initial value may be set to 1, for example.
- the path load detection unit 101 that has detected a decrease in access quality due to the reception of an urgent output information notification packet changes the value of ⁇ according to Equation 21.
- ⁇ is a positive change due to reception of N emergency output information notifications determined in advance.
- the value of N may be set to 1 and the value of ⁇ may be set to 0.5.
- the value of the adjustment coefficient m is controlled by the dynamics shown in Equation 22.
- M max and m min in the equation are the maximum and minimum values determined in advance of the adjustment coefficient m, and may be set to 7 and 5, for example.
- k is an adjustment parameter, and may be set to 100, for example.
- ⁇ is a Kronecker delta function, and ⁇ is a random positive integer.
- the adjustment coefficient m may be updated as shown in Equation 23 using Equation 22.
- the value of m increases as the value of ⁇ m increases as the data becomes difficult to flow.
- the topology of NoC is a two-dimensional mesh type, but this is an example.
- the flow control according to the present embodiment can be applied to other topologies.
- a two-dimensional torus type topology may be adopted.
- a topology in which a set of bus masters and corresponding bus control devices is arranged in a ring shape, and adjacent bus control devices and bus control devices facing each other on the ring may be connected by a bus.
- the topology is not limited to the two-dimensional type, and a topology in which a bus master and a corresponding bus control device are die-stacked and the bus control devices are three-dimensionally connected may be adopted.
- the bus control device As in the second embodiment, the bus control device according to the present embodiment can be applied to the distributed memory architecture shown in FIG. Since the description of the distributed memory architecture shown in FIG. 20 is the same as that of the second embodiment, the description thereof is omitted.
- the configuration of the bus control device constituting the distributed memory network according to the present embodiment is the same as the configuration of the bus control device 2 according to the second embodiment described with reference to FIG. 14 except for the points specifically described below. is there. Description of common functions is omitted.
- a memory module to be assigned a flow using the uniformity of the flow rate as a priority index is determined by Equation 25.
- memory module located closest is not necessarily q 0.
- the “memory module located closest” (hereinafter referred to as “nearest memory module”) means a memory module that is assumed to be accessible with the lowest latency from the processor by design.
- the shared memory module MBM31 can be defined as the closest memory module of the processor UP11.
- Identifier q 1 nearest memory module defined for each processor, for example, is defined as the design information SoC.
- the identifier q 1 may be hard-coded in advance in the corresponding processor or the path load detection unit of the NoC router connected to the processor, or selected by transmitting and receiving the measurement packet for the initialization operation. Also good.
- ⁇ i shown in Expression 24 indicates the uniformity after the allocation target flow is allocated to the memory module i.
- an index indicating the actual uniformity in a state where no allocation is performed, that is, at that time, is given by Equation 26.
- ⁇ is a positive number not exceeding 1.
- ⁇ shown in Equation 27 can be calculated based on ⁇ i shown in Equation 13 calculated as the current flow rate evaluation value for each memory module.
- b represents the bus width
- c represents the bus operating frequency.
- ⁇ represents the number of flits accessed in one cycle time. None exceed.
- ⁇ can be an index indicating the allocation amount in the memory module having the largest allocation amount among the memory modules.
- the path load detection unit determines the memory module q to which the flow is assigned based on the values of ⁇ and ⁇ .
- the conditional expression of Equation 28 may be followed.
- ⁇ th and ⁇ th are threshold values, and values defined in advance may be used.
- the nearest memory module is selected as the flow allocation destination, and the closest low latency (for example, the latency is low). From a is) memory module q 1 is selected.
- the memory module q0 is selected with emphasis on the uniformity of the flow rate.
- the throughput is improved by changing the weight of the uniformity of the flow rate according to the situation.
- q 0 or q 1 may be selected autonomously for each processor.
- ⁇ in the formula is a random noise.
- the dynamics of ⁇ in Equation 29, Equation 30, and Equation 31 are controlled by Equation 32.
- ⁇ and K are constants.
- the allocation destination memory module may be determined by the determination formula of Equation 33.
- switching between the selection of q 0 and q 1 proceeds autonomously and stepwise between the processors, so that the use band is not wasted and the throughput is improved.
- the path load detection unit 101 notifies the processor that the qth memory module has been assigned to the corresponding task.
- the task on the processor recognizes the transmission destination address when transmitting the data transfer packet to the memory module as the address of the qth memory module.
- FIG. 24 shows time variations of m 1 and m 2 when ⁇ i is random noise according to a uniform distribution that fluctuates in the range of the closed interval [ ⁇ 0.05, +0.05] in Equation 29.
- the horizontal axis represents the time axis. It can be seen that the magnitude relationship between m 1 and m 2 changes as ⁇ changes.
- q0 is selected when the m 1 is below m 2
- q1 is selected if m 1 is above the m 2.
- numerical processing for forcibly entering 0 is included when the value is shifted to a negative number by ⁇ i .
- FIG. 25 is a diagram showing the configuration of NoC used in the simulation. It is composed of NoC of 5 ⁇ 5 square mesh topology to which five processors UP11 to UP15 and three memory modules MEM51, MEM53, and MEM55 are connected.
- a flow of transmitting one packet of data to the memory module MEM every fixed cycle was generated.
- the packet length is fixed at 4 flits.
- 20 flows are generated from each processor UP, and the amount of data generated by each flow is set to 5 for 1 ⁇ flow, 5 for 10 ⁇ flow, and 10 for 100 ⁇ flow.
- “10 times flow” is a flow that transmits 1 packet while 100 times flow transmits 10 packets
- “1 time flow” is a flow that transmits 1 packet while 10 times flow transmits 10 packets.
- the packet transmission interval of the 1 ⁇ flow is 10 times of the 10 ⁇ flow
- the packet transmission interval of the 10 ⁇ flow is 10 times of the 100 ⁇ flow.
- the routing protocol is XY dimension order routing
- the switching protocol is wormhole switching
- the router configuration is 4 virtual channels and 4 virtual channel size.
- the flow transmission start timing was shifted by several cycles, so that congestion at the mesh network entrance did not occur.
- FIG. 26 and FIG. 27 show the relationship between the throughput and latency on the memory module side compiled from simulation data by the present inventors.
- the throughput shown on the horizontal axis is the sum of the individual throughputs of the memory modules MEM51, MEM53, and MEM55.
- the single throughput of each memory module is obtained as a value obtained by dividing the number of flits received within the simulation time by the total number of cycles within the simulation time. It is 0 when no flits are received during the simulation, and 1 when flits are constantly received. When 1 flit is received every other cycle, it becomes 0.5.
- the maximum value of throughput is three.
- the latency shown on the vertical axis is the difference between the time stamp value when the flit is generated by the processor and the time stamp value when the flit is received on the memory module side. All the time stamps at the time of generating the four flits constituting one packet have the same value.
- FIG. 26 is a graph of simulation results over 4000 cycles. With this graph, it is possible to compare the performance due to the difference in allocation method.
- the line representing “uniform allocation” shows the result of always selecting q0 regardless of the value of ⁇ .
- the line indicating “selective assignment” indicates the result of selecting q0 and q1 according to the value of ⁇ . In either case, it can be confirmed that the saturation throughput is about 2.7. Since the available physical bandwidth in this simulation is 3.0, a throughput of about 90% of the physical bandwidth can be used.
- FIG. 27 shows the result of paying attention to the relationship between the throughput and the latency in the low load region in the same simulation.
- this graph it is possible to compare the performance due to the difference in the allocation method in the low load region.
- the latency is improved by about 5 cycles compared to the case where only q0 is always selected. It can be seen that the selection at the time of assignment improves the throughput and latency characteristics including the low load state.
- the topology of NoC is a two-dimensional mesh type, but this is an example.
- the flow control according to the present embodiment can be applied to other topologies.
- a two-dimensional torus type topology may be adopted.
- a topology in which a set of bus masters and corresponding bus control devices is arranged in a ring shape, and adjacent bus control devices and bus control devices facing each other on the ring may be connected by a bus.
- the topology is not limited to the two-dimensional type, and a topology in which a bus master and a corresponding bus control device are die-stacked and the bus control devices are three-dimensionally connected may be adopted.
- the present invention is implemented not only on a chip but also as a simulation program for performing design and verification for mounting on a chip.
- a simulation program is executed by a computer.
- each component shown in FIG. 14 is implemented as an object class on the simulation program.
- Each class implements an operation corresponding to each component of the above-described embodiment on a computer by reading a predetermined simulation scenario. In other words, the operation corresponding to each component is executed in series or in parallel as a processing step of the computer.
- the class implemented as a bus master reads the simulation scenario defined by the simulator to determine conditions such as the timing for virtually transmitting packets to the bus controller class. Then, the transmission state in each path shown in FIG. 13 is simulated, and the transmission state is compared in the same manner as in the first and second embodiments, thereby performing an operation for determining the transmission path.
- the class implemented as a bus master operates until the simulation termination conditions described in the simulation scenario are satisfied, and the throughput and latency during operation, the state of fluctuations in the bus flow rate, the operating frequency, and the power consumption Estimate values etc. are calculated and provided to program users. Based on these, the program user evaluates the topology and performance, and performs design and verification.
- each line of the simulation scenario normally describes information such as the ID of the transmission source bus master, the ID of the destination bus master, the size of the packet to be transmitted, and the transmission timing.
- the network configuration most suitable for the simulation scenario can be specified. Any of Embodiments 1 to 3 can be applied as the design and verification tool of this aspect. The present invention is also applicable when implemented as a design and verification tool.
- the present invention can be used for a network bus control device, a control method, and a control program having a technology for controlling a data transfer path in an on-chip bus in an SoC for embedded devices, a general-purpose processor, and a local bus on a DSP. .
Abstract
Description
本実施形態によるバス制御装置を具体的に説明するに先立って、NoC(Network on Chip)と呼ばれる通信バス、その通信バスで利用可能な送信経路、および、各送信経路におけるデータ転送量を説明する。併せて本実施形態によるバス制御装置の動作原理を説明する。
ネットワーク化されたNoCバス上のデータ転送は、パケットの単位で行われる。パケット構成部103は、自身に接続されたバスマスタから受け取ったデータに基づいてパケットを生成する。
・プロトコル種別
・受信先のバスマスタとバス制御装置に割り当てられたアドレス
・送信元のバスマスタとバス制御装置に割り当てられたアドレス
・同一アプリケーションまたは同一目的の一連のパケット群に割り当てられるラベル情報
・同一ラベル情報を持つパケット群に対して一意であり送信時刻順に割り当てられる番号情報であるパケット連番
・パケットが転送時に許容するレイテンシのレベルである優先度
・付加情報、および、
・後続するペイロードの有無やペイロードの長さを示すペイロード長
データ受信部104は、自身が接続された単数または複数の入力リンクから、転送データパケットや出力情報通知パケットを受信し、ヘッダ解析部105に送る。図14では入力ポートはE、W、S、Nの4本を記載しているが、1本以上であれば何本でも良い。各入力ポートは、異なる他のバス制御装置の出力ポートに接続される。
ヘッダ解析部105は、データ受信部104によって渡されたパケットのプロトコル種別を照合し、パケットの種別を特定する。本実施形態では、パケットは、転送データパケット、出力情報要求パケット、または、出力情報通知パケットのいずれかであるとしている。
データ出力部106は、ヘッダ解析部105によって提示された出力ポートへの配線の切換を行い、パケットを信号としてバス上に送出する。また経路の輻輳によって、データ転送パケットの送出遅延が発生した場合には、データ出力部106は、優先度の低いデータ転送パケットの転送を遅延させることで、優先度の高いデータ転送パケットから順に優先転送を行う。
出力監視部107は、ヘッダ解析部105から受けた出力情報通知要請に応答するために、データ出力部106の各出力ポートの状態監視を行う。各出力ポートには、複数のバスマスタが送出したデータ転送パケットが混在して出力されており、同一のラベル情報を持つデータ転送パケットは同一のフローであると識別することができる。
経路負荷検出部101は、自身に接続されたバスマスタが送出する各フローの受信先アドレスと送信候補経路の情報を用いて、全ての送信候補経路に対して、出力情報要求パケットを送信する。出力情報要求パケットを送信するタイミングは、一定時間毎に定期的に行っても良い。また経路負荷検出部101は、出力情報要求パケット内に出力情報通知パケットの返信条件を格納しておき、経路上の各バス制御装置が返信条件を満たした際に、出力情報通知パケットを返信するトラップ方式を用いても良い。この場合、返信条件はデータ転送パケットの占有サイクル数の変化量が一定の閾値を超えた場合としても良い。
経路決定部102は、経路表を管理し、パケット構成部103が提示する宛先アドレスに基づいて経路表を検索し、ネクストホップとするバス制御装置に関連した出力ポートをパケット構成部103に通知する。
図20は、分散型のメモリ・アーキテクチャに本発明を適用した構成の例を示す。3つのプロセッサUP11、UP12、UP13と、3つの共有メモリモジュールMEM31、MEM32、MEM33が、3×3のメッシュ型のバス制御装置のネットワークを介して接続されている。プロセッサは、タスク起動時に必要なメモリ領域をいずれかのメモリモジュール上に割り当て、タスク終了時に割り当てた領域を解放する。しかし、特定のメモリモジュールへの割当が集中した場合、メモリモジュール間でアクセスレートにばらつきが発生し、アクセスが集中したメモリモジュールへのアクセスバスの動作周波数が上がり、設計面、消費電力面で課題となる。プロセッサでのメモリ割当時に、メモリモジュール間のアクセスレートができるだけ均一になるように割当処理を行うことで、アクセスバスの動作周波数低減と、消費電力削減の効果が得られる。
本実施形態では、前提条件として、プロセッサとメモリモジュール間の各フローのレート特性である平均レートと最大レートが事前設計されており、各フローは同一の優先度を有する場合を想定する。複数の優先度に対応するフローが混在する場合には、実施形態1と同様に扱えば良い。プロセッサ側のバス制御装置内にあるパケット構成部103は、図15に示すように、プロセッサ上のタスクから提示されたフローのレート特性を、付加情報としてデータ転送パケットのヘッダに格納して送信する。これにより、メモリモジュール側のバス制御装置に対して、アクセスフローのレート特性を伝達する。
経路負荷検出部101は、プロセッサが平均レートμt、最大レートptのメモリアクセスフローを割り当てるためのメモリ領域確保のイベントをトリガとして、出力情報要求パケットを各メモリモジュールのバス制御装置宛に送信する。この出力情報要求パケットにより、図21に示された評価値を収集する。出力情報を収集するためのプロトコルの例を図22に示す。フローの時間変動を考慮したi番目のメモリの流量評価値βiは、数13で表される。式中のmは同一メモリに割り当てられた複数フロー間の統計多重効果の強さと信頼性をバランスさせるための調整係数である。
本実施形態によるバス制御装置は、実施形態2と同様、図20に示す分散型のメモリ・アーキテクチャに適用することが可能である。図20に示す分散型のメモリ・アーキテクチャの説明は実施形態2と同じであるため、その説明は省略する。
上述の実施形態では、本願発明がチップ上で実装された際の構成を説明した。
102 経路決定部
103 パケット構成部
104 データ受信部
105 ヘッダ解析部
106 データ出力部
107 出力監視部
Claims (12)
- バスマスタと、ネットワーク化された通信バスとの間に設けられ、前記通信バスに流れるパケットの送信経路を制御するバス制御装置であって、
利用可能な複数の送信経路上に存在する複数の他のバス制御装置から、出力状況に関する情報を受信するデータ受信部と、
前記出力状況に関する情報に基づいて各送信経路の送信流量のばらつきを示す均一化指標を算出する経路負荷検出部と、
前記均一化指標に基づいて、前記送信流量が調整された複数の送信経路を決定する経路決定部と、
前記バスマスタから受け取ったデータに基づいてパケットを生成するパケット構成部と、
各々が異なる通信バスに接続された複数の出力ポートのいずれか一つから前記パケットを出力するデータ出力部と、
前記複数の出力ポートの中から、前記パケットの送信先の情報に基づいて選択された送信経路の一つに接続されている出力ポートを決定するヘッダ解析部と
を備えた、バス制御装置。 - 前記複数の他のバス制御装置からの要求に従って、前記データ出力部のデータ出力状況に関する情報を通知する出力監視部をさらに備えた、請求項1に記載のバス制御装置。
- 前記経路負荷検出部は、出力するフローの優先度毎の転送頻度の平均値を少なくとも含む、前記出力監視部からの出力状況の中で前記平均値を基に均一化指標を算出する、請求項2に記載のバス制御装置。
- 前記経路負荷検出部は、出力するフローの優先度毎の転送頻度の平均値および最大値を少なくとも含む、前記出力監視部からの出力状況の中で前記平均値および最大値に基づいて均一化指標を算出する、請求項2に記載のバス制御装置。
- 前記経路負荷検出部は均一化指標に含まれる統計多重効果に起因する評価値の信頼度を規定するパラメータを含む、請求項4に記載のバス制御装置。
- 前記経路負荷検出部は、前記パケットの転送状況の劣化を検出して、前記信頼度を規定するパラメータを調整し、前記パラメータの調整で転送状況が改善しない場合には、確率的にパラメータを調整する、請求項5に記載のバス制御装置。
- 前記出力監視部は、予め定められたタイミングで発行される前記出力状況に関する情報の要求の受信をトリガとして、前記情報を通知する、請求項2に記載のバス制御装置。
- 前記経路負荷検出部は、事前に出力状況通知の送信条件を出力監視部に伝達し、
前記出力監視部には、予め前記出力状況に関する情報の要求が送信される条件が通知されており、前記送信条件が成立した場合には前記情報を通知する、請求項2に記載のバス制御装置。 - 前記経路負荷検出部は、前記出力状況に関する情報に対して、前記各送信経路のフローの優先度に応じた重みを加えることにより、前記各送信経路の送信流量に関する評価値を算出し、前記各送信経路の送信流量のばらつきを示す均一化指標を算出する、請求項1に記載のバス制御装置。
- 前記経路負荷検出部は、前記各送信経路の送信流量に関する評価値を利用して算出した統計値を、前記均一化指標として算出する、請求項9に記載のバス制御装置。
- 前記経路負荷検出部は、前記出力状況に関する情報と選択対象の送信経路のデータ特性に関する情報とに基づいて各送信経路の送信流量のばらつきを示す均一化指標を算出する、請求項1に記載のバス制御装置。
- バスマスタと、ネットワーク化された通信バスとの間に設けられ、前記通信バスに流れるパケットの送信経路を制御するバス制御装置のためのシミュレーションプログラムであって、
前記シミュレーションプログラムは、コンピュータに対し、
前記シミュレーションプログラム上のオブジェクト化された複数の他のバス制御装置のクラスであって、利用可能な複数の送信経路上に存在する複数の他のバス制御装置のクラスから、出力状況に関する情報を受信するステップと、
前記出力状況に関する情報に基づいて各送信経路の送信流量のばらつきを示す均一化指標を算出するステップと、
前記均一化指標に基づいて、前記送信流量が調整された複数の送信経路を決定するステップと、
前記バスマスタとして実装されたクラスから受け取ったデータに基づいてパケットを生成するステップと、
各々が異なる通信バスに接続された複数の出力ポートのいずれか一つから前記パケットを出力するステップと、
前記複数の出力ポートの中から、前記パケットの送信先の情報に基づいて選択された送信経路の一つに接続されている出力ポートを決定するステップと、
前記決定された出力ポートから前記パケットを出力するステップと
を実行させる、バス制御装置のためのシミュレーションプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011521806A JP4796668B2 (ja) | 2009-07-07 | 2010-06-29 | バス制御装置 |
CN201080018978.0A CN102415059B (zh) | 2009-07-07 | 2010-06-29 | 总线控制装置 |
EP20100796880 EP2453612B1 (en) | 2009-07-07 | 2010-06-29 | Bus control device |
US13/247,163 US8301823B2 (en) | 2009-07-07 | 2011-09-28 | Bus controller arranged between a bus master and a networked communication bus in order to control the transmission route of a packet that flows through the communication bus, and simulation program to design such a bus controller |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-161029 | 2009-07-07 | ||
JP2009161029 | 2009-07-07 | ||
JP2009-234538 | 2009-10-08 | ||
JP2009234538 | 2009-10-08 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/247,163 Continuation US8301823B2 (en) | 2009-07-07 | 2011-09-28 | Bus controller arranged between a bus master and a networked communication bus in order to control the transmission route of a packet that flows through the communication bus, and simulation program to design such a bus controller |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011004566A1 true WO2011004566A1 (ja) | 2011-01-13 |
Family
ID=43428997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/004290 WO2011004566A1 (ja) | 2009-07-07 | 2010-06-29 | バス制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8301823B2 (ja) |
EP (1) | EP2453612B1 (ja) |
JP (1) | JP4796668B2 (ja) |
CN (1) | CN102415059B (ja) |
WO (1) | WO2011004566A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012175480A (ja) * | 2011-02-23 | 2012-09-10 | Oki Electric Ind Co Ltd | 通信制御装置、通信制御方法、および、通信制御プログラム |
JP2013531424A (ja) * | 2010-06-01 | 2013-08-01 | ブル・エス・アー・エス | 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム |
WO2013168427A1 (ja) * | 2012-05-11 | 2013-11-14 | パナソニック株式会社 | バス制御装置、バス制御システム、およびネットワークインタフェース |
JP5834178B2 (ja) * | 2012-11-08 | 2015-12-16 | パナソニックIpマネジメント株式会社 | 半導体回路のバスシステム |
JP2016502700A (ja) * | 2012-10-18 | 2016-01-28 | クアルコム,インコーポレイテッド | プロセッサベースシステムハイブリッドリングバス相互接続、ならびに関連デバイス、プロセッサベースシステム、および方法 |
JP2017500810A (ja) * | 2013-12-19 | 2017-01-05 | ネットスピード システムズ | タイミング及び/又は性能を満たすnocチャネルの自動パイプライニング |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9344358B2 (en) * | 2012-03-12 | 2016-05-17 | Utah State University | Aging-aware routing for NoCs |
JP5838365B2 (ja) * | 2012-07-24 | 2016-01-06 | パナソニックIpマネジメント株式会社 | バスシステムおよび中継器 |
US8885510B2 (en) | 2012-10-09 | 2014-11-11 | Netspeed Systems | Heterogeneous channel capacities in an interconnect |
GB2507124A (en) * | 2012-10-22 | 2014-04-23 | St Microelectronics Grenoble 2 | Controlling data transmission rates based on feedback from the data recipient |
US9571402B2 (en) * | 2013-05-03 | 2017-02-14 | Netspeed Systems | Congestion control and QoS in NoC by regulating the injection traffic |
US9471726B2 (en) | 2013-07-25 | 2016-10-18 | Netspeed Systems | System level simulation in network on chip architecture |
US9473388B2 (en) | 2013-08-07 | 2016-10-18 | Netspeed Systems | Supporting multicast in NOC interconnect |
US9699079B2 (en) | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
US9473415B2 (en) | 2014-02-20 | 2016-10-18 | Netspeed Systems | QoS in a system with end-to-end flow control and QoS aware buffer allocation |
US9742630B2 (en) | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9571341B1 (en) | 2014-10-01 | 2017-02-14 | Netspeed Systems | Clock gating for system-on-chip elements |
US9660942B2 (en) | 2015-02-03 | 2017-05-23 | Netspeed Systems | Automatic buffer sizing for optimal network-on-chip design |
US9444702B1 (en) | 2015-02-06 | 2016-09-13 | Netspeed Systems | System and method for visualization of NoC performance based on simulation output |
US9568970B1 (en) | 2015-02-12 | 2017-02-14 | Netspeed Systems, Inc. | Hardware and software enabled implementation of power profile management instructions in system on chip |
US9928204B2 (en) | 2015-02-12 | 2018-03-27 | Netspeed Systems, Inc. | Transaction expansion for NoC simulation and NoC design |
US10050843B2 (en) | 2015-02-18 | 2018-08-14 | Netspeed Systems | Generation of network-on-chip layout based on user specified topological constraints |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
US9864728B2 (en) | 2015-05-29 | 2018-01-09 | Netspeed Systems, Inc. | Automatic generation of physically aware aggregation/distribution networks |
US9825809B2 (en) | 2015-05-29 | 2017-11-21 | Netspeed Systems | Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10313269B2 (en) | 2016-12-26 | 2019-06-04 | Netspeed Systems, Inc. | System and method for network on chip construction through machine learning |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10084725B2 (en) | 2017-01-11 | 2018-09-25 | Netspeed Systems, Inc. | Extracting features from a NoC for machine learning construction |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US10298485B2 (en) | 2017-02-06 | 2019-05-21 | Netspeed Systems, Inc. | Systems and methods for NoC construction |
US10983910B2 (en) | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US11144457B2 (en) | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US10896476B2 (en) | 2018-02-22 | 2021-01-19 | Netspeed Systems, Inc. | Repository of integration description of hardware intellectual property for NoC construction and SoC integration |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0936893A (ja) * | 1995-07-13 | 1997-02-07 | Internatl Business Mach Corp <Ibm> | 経路決定方法 |
JP2002247087A (ja) * | 2001-02-15 | 2002-08-30 | Nippon Telegr & Teleph Corp <Ntt> | Ipネットワーク負荷分散方法、ipネットワーク、ipルーティング装置及びルートサーバ装置 |
JP3816531B2 (ja) | 1996-02-22 | 2006-08-30 | 富士通株式会社 | 非同期パケット交換 |
JP2007074074A (ja) * | 2005-09-05 | 2007-03-22 | Nippon Telegr & Teleph Corp <Ntt> | トラヒック分散制御装置、パケット通信ネットワークおよびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510135B1 (en) * | 1998-12-18 | 2003-01-21 | Nortel Networks Limited | Flow-level demultiplexing within routers |
JP2002305541A (ja) | 2001-04-04 | 2002-10-18 | Kddi Research & Development Laboratories Inc | メッシュ網におけるロードバランシング方法 |
US7561526B2 (en) * | 2002-12-17 | 2009-07-14 | Nortel Networks Limited | Communication network route determination |
EP2041661B1 (en) | 2006-07-05 | 2014-02-12 | Synopsys, Inc. | Electronic device, system on chip and method for monitoring a data flow |
JP2008293487A (ja) * | 2007-04-27 | 2008-12-04 | Panasonic Corp | プロセッサシステム、バス制御方法および半導体装置 |
-
2010
- 2010-06-29 JP JP2011521806A patent/JP4796668B2/ja active Active
- 2010-06-29 EP EP20100796880 patent/EP2453612B1/en active Active
- 2010-06-29 WO PCT/JP2010/004290 patent/WO2011004566A1/ja active Application Filing
- 2010-06-29 CN CN201080018978.0A patent/CN102415059B/zh active Active
-
2011
- 2011-09-28 US US13/247,163 patent/US8301823B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0936893A (ja) * | 1995-07-13 | 1997-02-07 | Internatl Business Mach Corp <Ibm> | 経路決定方法 |
JP3816531B2 (ja) | 1996-02-22 | 2006-08-30 | 富士通株式会社 | 非同期パケット交換 |
JP2002247087A (ja) * | 2001-02-15 | 2002-08-30 | Nippon Telegr & Teleph Corp <Ntt> | Ipネットワーク負荷分散方法、ipネットワーク、ipルーティング装置及びルートサーバ装置 |
JP2007074074A (ja) * | 2005-09-05 | 2007-03-22 | Nippon Telegr & Teleph Corp <Ntt> | トラヒック分散制御装置、パケット通信ネットワークおよびプログラム |
Non-Patent Citations (2)
Title |
---|
See also references of EP2453612A4 |
SHINGO WAKITA: "Delay Reduction Algorithm by Balancing Distribution of Traffic for Odd-Even Turn Model in NoC", IEICE TECHNICAL REPORT, vol. 108, no. 478, 4 March 2009 (2009-03-04), pages 153 - 158 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013531424A (ja) * | 2010-06-01 | 2013-08-01 | ブル・エス・アー・エス | 静的な通信リンクを備えるクラスタにおける擬似動的ルーティング方法およびこの方法を実行するコンピュータプログラム |
JP2012175480A (ja) * | 2011-02-23 | 2012-09-10 | Oki Electric Ind Co Ltd | 通信制御装置、通信制御方法、および、通信制御プログラム |
WO2013168427A1 (ja) * | 2012-05-11 | 2013-11-14 | パナソニック株式会社 | バス制御装置、バス制御システム、およびネットワークインタフェース |
JPWO2013168427A1 (ja) * | 2012-05-11 | 2016-01-07 | パナソニックIpマネジメント株式会社 | バス制御システム、およびネットワークインタフェース |
US9678905B2 (en) | 2012-05-11 | 2017-06-13 | Panasonic Intellectual Property Management Co., Ltd. | Bus controller, bus control system and network interface |
JP2016502700A (ja) * | 2012-10-18 | 2016-01-28 | クアルコム,インコーポレイテッド | プロセッサベースシステムハイブリッドリングバス相互接続、ならびに関連デバイス、プロセッサベースシステム、および方法 |
JP5834178B2 (ja) * | 2012-11-08 | 2015-12-16 | パナソニックIpマネジメント株式会社 | 半導体回路のバスシステム |
JP2017500810A (ja) * | 2013-12-19 | 2017-01-05 | ネットスピード システムズ | タイミング及び/又は性能を満たすnocチャネルの自動パイプライニング |
Also Published As
Publication number | Publication date |
---|---|
EP2453612A1 (en) | 2012-05-16 |
CN102415059B (zh) | 2014-10-08 |
EP2453612A4 (en) | 2013-03-06 |
CN102415059A (zh) | 2012-04-11 |
US8301823B2 (en) | 2012-10-30 |
JP4796668B2 (ja) | 2011-10-19 |
JPWO2011004566A1 (ja) | 2012-12-20 |
US20120079147A1 (en) | 2012-03-29 |
EP2453612B1 (en) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4796668B2 (ja) | バス制御装置 | |
US10129043B2 (en) | Apparatus and method for network flow scheduling | |
US8670310B2 (en) | Dynamic balancing priority queue assignments for quality-of-service network flows | |
US9571402B2 (en) | Congestion control and QoS in NoC by regulating the injection traffic | |
CN107231662B (zh) | 一种sdn网络中多流传输的方法和设备 | |
TWI389475B (zh) | 光纖通道傳輸之動態負載平衡 | |
EP2720422A1 (en) | Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4G IP network/equipment for better traffic performance | |
US7929440B2 (en) | Systems and methods for capacity planning using classified traffic | |
Deng et al. | An application-aware QoS routing algorithm for SDN-based IoT networking | |
Guz et al. | Efficient link capacity and QoS design for network-on-chip | |
CN106341346A (zh) | 基于SDN的数据中心网络中一种保障QoS的路由算法 | |
US20110261688A1 (en) | Priority Queue Level Optimization for a Network Flow | |
US9436642B2 (en) | Bus system for semiconductor circuit | |
CN114286413A (zh) | Tsn网络联合路由选择与流分配方法及相关设备 | |
US11863322B2 (en) | Communication method and apparatus | |
CN109274589B (zh) | 业务传输的方法和装置 | |
KR20170033179A (ko) | 소프트웨어 정의 네트워크 기반 가상 네트워크 사용 대역폭 관리 방법 및 가상 네트워크 관리장치 | |
Kesselman et al. | Game-theoretic analysis of internet switching with selfish users | |
CN111817985A (zh) | 业务处理方法及装置 | |
KR101311572B1 (ko) | 가상 네트워크에서 사전 지식없이 승인을 제어하고 데이터 플로우에 리소스를 할당하기 위한 방법 | |
CN112714081B (zh) | 一种数据处理方法及其装置 | |
Guo et al. | TDM based optical bypass for intra-rack elephant flow with a DPDK based online timeslot allocator | |
Okafor et al. | Synthesis VLAN Approach to Congestion Management in DataCenter Ethernet Networks | |
Sedaghat et al. | R2T-DSDN: reliable real-time distributed controller-based SDN | |
Varyani et al. | Fair Share of Latency in Inter-Data-Center Backbone Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080018978.0 Country of ref document: CN |
|
DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10796880 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2011521806 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010796880 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |