QoS control method, bus system, computing device and storage medium

文档序号:115478 发布日期:2021-10-19 浏览:48次 中文

阅读说明:本技术 一种QoS控制方法、总线系统、计算装置和存储介质 (QoS control method, bus system, computing device and storage medium ) 是由 刘弋波 陈哲 郭晨光 颜伟成 匡双鸽 于 2020-04-09 设计创作,主要内容包括:本发明提出了一种QoS控制方法、总线系统、计算装置和存储介质,用于保证实时设备能够从总线系统,DDR持续稳定的获得需要的带宽,避免出现响应延迟过大等影响用户体验的情况出现。QoS控制方法中,根据DDR控制器的并发处理能力,为实时命令预留部分接收能力;所述方法,包括:接收各发送端口发送的待处理命令,所述待处理命令中携带有设备标识;根据所述设备标识,分别统计已经发往DDR控制器但未完成对DDR颗粒访问的实时命令数量和非实时命令数量;根据统计的实时命令数量、非实时命令数量以及预留的部分接收能力和剩余接收能力,确定QoS控制策略;根据确定出的QoS控制策略,向DDR控制器下发所述待处理命令。(The invention provides a QoS control method, a bus system, a computing device and a storage medium, which are used for ensuring that real-time equipment can continuously and stably obtain required bandwidth from the bus system and DDR (double data rate), and avoiding the occurrence of the condition that the response delay is too large and the like affects the user experience. In the QoS control method, according to the concurrent processing capacity of a DDR controller, partial receiving capacity is reserved for a real-time command; the method comprises the following steps: receiving a to-be-processed command sent by each sending port, wherein the to-be-processed command carries an equipment identifier; respectively counting the number of real-time commands and the number of non-real-time commands which are sent to the DDR controller but do not complete access to the DDR particles according to the equipment identification; determining a QoS control strategy according to the counted real-time command number, the counted non-real-time command number, and the reserved partial receiving capacity and the reserved residual receiving capacity; and issuing the command to be processed to the DDR controller according to the determined QoS control strategy.)

1. A QoS control method is characterized in that the QoS control method is applied to a bus system, and partial receiving capacity is reserved for a real-time command according to the concurrent processing capacity of a double data rate synchronous dynamic random access memory (DDR) controller, wherein the reserved partial receiving capacity is used for processing the real-time command, and the residual receiving capacity is used for processing the real-time command or a non-real-time command;

the method comprises the following steps:

receiving a to-be-processed command sent by each sending port, wherein the to-be-processed command carries an equipment identifier;

respectively counting the number of real-time commands and the number of non-real-time commands which are sent to the DDR controller but do not complete access to the DDR particles according to the equipment identification;

determining a QoS control strategy according to the counted real-time command number, the counted non-real-time command number, and the reserved partial receiving capacity and the reserved residual receiving capacity;

and issuing the command to be processed to the DDR controller according to the determined QoS control strategy.

2. The method of claim 1, wherein determining the QoS control policy according to the counted real-time command number, non-real-time command number, and reserved partial receiving capability and remaining receiving capability comprises:

according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed by using the reserved partial receiving capacity and process the non-real-time command to be processed by using the residual receiving capacity;

according to the real-time command number and the non-real-time command number, if the real-time command number exceeds the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed and the non-real-time command by utilizing the residual receiving capacity;

and according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number exceeds the residual receiving capacity, determining to process the to-be-processed real-time command by using the reserved partial receiving capacity, and controlling the to-be-processed non-real-time command to be in a waiting state until the residual receiving capacity is idle.

3. The method of claim 1, prior to receiving the pending command sent by each of the sending ports, further comprising:

acquiring bus bandwidth occupation information; and

and according to the bus bandwidth occupation information, when the bus bandwidth occupation rate is determined to be greater than a preset threshold value, starting a QoS control method.

4. A bus system, comprising:

the control register is used for pre-configuring the size of a reserved part of receiving capacity of a real-time command according to the concurrent processing capacity of the DDR controller, wherein the reserved part of receiving capacity is used for processing the real-time command, and the rest of receiving capacity is used for processing the real-time command or a non-real-time command;

the arbiter is used for receiving the to-be-processed command sent by each sending port, wherein the to-be-processed command carries the equipment identifier; determining a QoS control strategy according to the real-time command number, the non-real-time command number counted by the counter and the reserved partial receiving capacity and the residual receiving capacity; according to the determined QoS control strategy, the command to be processed is issued to the DDR controller;

and the counter is used for respectively counting the number of the real-time commands and the number of the non-real-time commands which are sent to the DDR controller but are not accessed to the DDR particles according to the equipment identification.

5. The system of claim 4,

the arbiter is specifically configured to determine, according to the real-time command number and the non-real-time command number, to process the to-be-processed real-time command by using the reserved partial receiving capability and to process the to-be-processed non-real-time command by using the remaining receiving capability if the real-time command number does not exceed the reserved partial receiving capability and the non-real-time command number does not exceed the remaining receiving capability; according to the real-time command number and the non-real-time command number, if the real-time command number exceeds the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed and the non-real-time command by utilizing the residual receiving capacity; and according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number exceeds the residual receiving capacity, determining to process the to-be-processed real-time command by using the reserved partial receiving capacity, and controlling the to-be-processed non-real-time command to be in a waiting state until the residual receiving capacity is idle.

6. The system of claim 4, further comprising an optional bandwidth monitor, wherein:

the bandwidth monitor is used for acquiring bus bandwidth occupation information before the arbiter receives the to-be-processed command sent by each sending port;

and the control register is specifically used for starting the QoS control method when the bus bandwidth occupancy rate is determined to be greater than a preset threshold value according to the bus bandwidth occupancy information.

7. A computing device, the computing device comprising: memory, processor and computer program stored on the memory and executable on the processor, which computer program, when executed by the processor, carries out the steps of the method according to any one of claims 1 to 3.

8. A computer storage medium having stored thereon a computer program which, when executed by a processor, carries out the steps of the method according to any one of claims 1 to 3.

Technical Field

The present invention relates to the field of bus system technologies, and in particular, to a QoS control method, a bus system, a computing device, and a storage medium.

Background

A main device in an SOC (System on Chip) Chip, which needs to access a memory through a bus, often has different characteristics, such as a CPU (central processing unit) sensitive to delay on a path, a video codec engine and an AI (artificial intelligence) accelerator with a large bandwidth requirement, and a device having a real-time characteristic, such as a display playback engine and a CSI (camera serial interface) module, which must be uninterrupted all the time when accessing the memory to continuously and stably obtain a required bandwidth, otherwise, a situation that user experience is seriously affected may occur.

A general QOS (Quality of service) mechanism is provided on a bus of a general SOC to meet the requirements of different masters for dissimilarities such as bandwidth and delay, such as command priority setting, bandwidth limitation or regulators. The priority of the real-time command sent by the real-time device can be increased through the QoS mechanism, so that the real-time command can more easily acquire advantages in arbitration competition with other devices for accessing the memory, and the real-time requirement can be met as far as possible. Wherein, part of the bus also provides an emergency mechanism (urgency) to raise the priority of the device command in the whole access memory channel urgently to solve the problem when the real-time master device is starved due to insufficient bandwidth acquisition in a certain time period.

However, the method of increasing the priority of real-time commands can meet the requirement of real-time devices to some extent, but in some extreme cases, for example, in a certain period of time, a large number of low-priority commands from non-real-time devices have been issued in advance and flush the command queue in the memory controller and other buffer space on the whole channel. These non-real-time commands in pending state occupy the channel of the access memory for a long time, and at this time, even if the real-time device starts to issue a high-priority real-time command request, the real-time device can only queue slowly in the following, so that the real-time device cannot obtain the required bandwidth in time and generates too large response delay, which affects the user experience.

Disclosure of Invention

Embodiments of the present invention provide a QoS control method, a bus system, a computing device, and a storage medium, which are used to ensure that a real-time device can continuously and stably obtain a required bandwidth from the bus system, and avoid situations that affect user experience, such as excessive response delay.

In a first aspect, a QoS control method is provided, where the QoS control method is applied to a bus system, and a partial receiving capability is reserved for a real-time command according to a concurrent processing capability of a DDR (double data rate) controller, where the reserved partial receiving capability is used to process the real-time command and a remaining receiving capability is used to process a real-time command or a non-real-time command;

the method comprises the following steps:

receiving a to-be-processed command sent by each sending port, wherein the to-be-processed command carries an equipment identifier;

respectively counting the number of real-time commands and the number of non-real-time commands which are sent to a DDR controller but not accessed to a DDR particle (pending state) according to the equipment identification;

determining a QoS control strategy according to the counted real-time command number, the counted non-real-time command number, and the reserved partial receiving capacity and the reserved residual receiving capacity;

and issuing the command to be processed to the DDR controller according to the determined QoS control strategy.

In one embodiment, determining the QoS control policy according to the counted real-time command number, non-real-time command number, and reserved partial receiving capability and remaining receiving capability specifically includes:

according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed by using the reserved partial receiving capacity and process the non-real-time command to be processed by using the residual receiving capacity;

according to the real-time command number and the non-real-time command number, if the real-time command number exceeds the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed and the non-real-time command by utilizing the residual receiving capacity;

and according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number exceeds the residual receiving capacity, determining to process the to-be-processed real-time command by using the reserved partial receiving capacity, and controlling the to-be-processed non-real-time command to be in a waiting state until the residual receiving capacity is idle.

In an embodiment, before receiving the to-be-processed command sent by each sending port, the method may further include:

acquiring bus bandwidth occupation information; and

and according to the bus bandwidth occupation information, when the bus bandwidth occupation rate is determined to be greater than a preset threshold value, starting a QoS control method.

In an embodiment, the to-be-processed command further carries command priority information, where the priority information corresponding to the real-time command is usually not lower than the priority corresponding to the non-real-time command.

In a second aspect, there is provided a bus system comprising:

the control register is used for pre-configuring the size of a reserved part of receiving capacity of a real-time command according to the concurrent processing capacity of the DDR controller, wherein the reserved part of receiving capacity is used for processing the real-time command, and the rest of receiving capacity is used for processing the real-time command or a non-real-time command;

the arbiter is used for receiving the to-be-processed command sent by each sending port, wherein the to-be-processed command carries the equipment identifier; determining a QoS control strategy according to the real-time command number, the non-real-time command number counted by the counter and the reserved partial receiving capacity and the residual receiving capacity; according to the determined QoS control strategy, the command to be processed is issued to the DDR controller;

and the counter is used for respectively counting the number of the real-time commands and the number of the non-real-time commands which are sent to the DDR controller but are not accessed to the DDR particles according to the equipment identification.

In an embodiment, the arbiter is specifically configured to determine, according to the number of real-time commands and the number of non-real-time commands, to process the to-be-processed real-time command by using the reserved partial receiving capability and to process the to-be-processed non-real-time command by using the remaining receiving capability if the number of real-time commands does not exceed the reserved partial receiving capability and the number of non-real-time commands does not exceed the remaining receiving capability; according to the real-time command number and the non-real-time command number, if the real-time command number exceeds the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the real-time command to be processed and the non-real-time command by utilizing the residual receiving capacity; and according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number exceeds the residual receiving capacity, determining to process the to-be-processed real-time command by using the reserved partial receiving capacity, and controlling the to-be-processed non-real-time command to be in a waiting state until the residual receiving capacity is idle.

In one implementation, the bus system provided in the embodiment of the present invention further includes an optional bandwidth monitor, where:

the bandwidth monitor is used for acquiring bus bandwidth occupation information before the arbiter receives the to-be-processed command sent by each sending port;

and the control register is specifically used for starting the QoS control method when the bus bandwidth occupancy rate is determined to be greater than a preset threshold value according to the bus bandwidth occupancy information.

In an embodiment, the to-be-processed command further carries command priority information, where the priority information corresponding to the real-time command is usually not lower than the priority corresponding to the non-real-time command.

In a third aspect, a computing device is provided, the computing device comprising: a memory, a processor and a computer program stored on the memory and executable on the processor, the computer program when executed by the processor implementing the steps of any of the above QoS control methods.

In a fourth aspect, a computer storage medium is provided, having a computer program stored thereon, which when executed by a processor, implements the steps of any of the QoS control methods described above.

By adopting the technical scheme, the invention at least has the following advantages:

according to the QoS control method, the bus system, the computing device and the storage medium, part of receiving capacity of the DDR controller is reserved for the real-time command in advance, the reserved part of receiving capacity is specially used for processing the real-time command, and the residual receiving capacity can also be used for processing the real-time command, so that the situation that the non-real-time command is crowded with a command queue in the DDR controller and other buffer spaces on the whole channel due to the fact that the non-real-time command is full under extreme conditions can be avoided, the real-time device can be guaranteed to continuously and stably obtain the needed bandwidth from the bus system, and the situation that response delay is too large and the like affects user experience is avoided.

Drawings

FIG. 1 is a diagram illustrating a device accessing memory via a bus according to an embodiment of the invention;

FIG. 2 is a flow chart of a QoS control method according to an embodiment of the present invention;

FIG. 3a is a diagram illustrating a first method of using absolute number reservation partial receive capability according to an embodiment of the present invention;

FIG. 3b is a diagram illustrating a second type of partial receive capability using absolute number reservation, according to an embodiment of the present invention;

FIG. 3c is a diagram illustrating a third partial receive capability using absolute number reservation according to an embodiment of the present invention;

FIG. 3d is a diagram illustrating a fourth exemplary use of absolute number reservation partial receive capability according to an embodiment of the present invention;

FIG. 4a is a diagram illustrating a first method of reserving partial receive capability using relative quantities, according to an embodiment of the present invention;

FIG. 4b is a diagram illustrating a second use of relative quantity reserved portion reception capability according to an embodiment of the present invention;

FIG. 4c is a diagram illustrating a third reserved portion reception capability using relative quantity according to an embodiment of the present invention;

fig. 5 is a schematic structural diagram of a bus system according to an embodiment of the invention.

Detailed Description

To further explain the technical means and effects of the present invention adopted to achieve the intended purpose, the present invention will be described in detail with reference to the accompanying drawings and preferred embodiments.

It should be noted that the terms "first", "second", and the like in the description and the claims of the embodiments of the present invention and in the drawings described above are used for distinguishing similar objects and not necessarily for describing a particular order or sequence. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein.

Reference herein to "a plurality or a number" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.

The nature of the DDR memory granule determines that efficiency issues have to be paid close attention to its access, such as DDR commands and the existence of various timing (latency) between data, and the DDR controller needs to be designed to meet the protocol and timing requirements of the DDR itself and also fully consider the bandwidth utilization efficiency. Generally, a command queue with a certain depth is provided in the DDR controller, and scheduling or reordering is performed on commands through a set of strategies to achieve the purpose of improving efficiency. In addition, at each node within the bus there will also be a buffer (buffer) and a metronome (pipeline) which can also buffer a certain number of commands in case of congestion.

As shown in fig. 1, which is a schematic diagram of a device accessing a memory through a bus, each device (including a real-time device and a non-real-time device) is connected to the bus, and a real-time command and a non-real-time command sent by the device are arbitrated by an arbiter in the bus and then send a command for accessing the memory to a DDR (double data rate synchronous dynamic random access memory) controller.

In this embodiment of the present invention, for convenience of description, the maximum receiving number of the DDR controller is referred to as an outgoing access availability (OAA in this embodiment of the present invention), and the size of the OAA depends on the total capacity of queues and buffers in the bus and the DDR controller. I.e., the presence of a buffer on the DDR controller's internal command queue and bus path, determines the origin and size of the OAA.

In the embodiment of the invention, in order to ensure that the real-time equipment can continuously and stably access the memory, partial receiving capacity is reserved for the real-time command according to the concurrent processing capacity of the DDR controller, wherein the reserved partial receiving capacity is used for processing the real-time command, and the residual receiving capacity is used for processing the real-time command or the non-real-time command.

For example, taking the concurrent receiving capability of the DDR controller as 24 commands as an example, in specific implementation, the receiving capability of 8 commands may be reserved for the real-time command, the receiving capability of the remaining 16 commands is shared by the real-time command and the non-real-time command, and the arbiter may determine different QoS control policies according to actual situations.

In the embodiment of the present invention, the command sent by the real-time device is referred to as a real-time command, and the command sent by the non-real-time device is referred to as a non-real-time command.

As shown in fig. 2, which is a schematic diagram of an implementation flow of the QoS control method provided in the embodiment of the present invention, the method includes the following steps:

and S21, receiving the commands to be processed sent by each sending port.

During specific implementation, an arbiter in the bus receives a to-be-processed command sent by each device connected to the bus through a corresponding input port. The received to-be-processed command carries the device identifier of the device sending the to-be-processed command, and the arbiter can judge whether the received to-be-processed command is a real-time command or a non-real-time command according to the device identifier.

And S22, respectively counting the number of real-time commands and the number of non-real-time commands which are sent to the DDR controller but are not accessed to the DDR particles according to the device identification.

In specific implementation, a counter may be added to the bus to count the number of real-time commands and the number of non-real-time commands that have been sent to the DDR controller.

And S23, determining the QoS control strategy according to the counted real-time command number, non-real-time command number, and the reserved partial receiving capacity and residual receiving capacity.

In this step, the arbiter determines a corresponding QoS control policy according to the statistical result of the counter.

In one embodiment, the arbiter may determine to process the to-be-processed real-time command using the reserved partial receiving capability and process the to-be-processed non-real-time command using the remaining receiving capability if the real-time command number does not exceed the reserved partial receiving capability and the non-real-time command number does not exceed the remaining receiving capability according to the real-time command number and the non-real-time command number counted by the counter.

Still take the concurrent receive capability of the DDR controller as 24 commands as an example, wherein 8 receive capabilities are reserved for real-time commands and the remaining 16 receive capabilities are shared by real-time commands and non-real-time commands. According to the embodiment of the invention, after the received command to be processed is arbitrated by the arbiter and issued to the DDR controller, the counter adds 1 to the count corresponding to the corresponding command type according to the type of the command to be processed, after the DDR controller returns a data response, the DDR controller indicates that the command to be processed is processed and is no longer in a pending state, the counter subtracts 1 from the count corresponding to the corresponding command type according to the type of the command to be processed, initially, the real-time command can only occupy a reserved part of the receiving capability, the non-real-time command can only occupy the remaining receiving capability, and when the count corresponding to the real-time command reaches the reserved part of the receiving capability, in this example, when 8 commands are reached, the real-time command can occupy the remaining receiving capability.

To better understand the implementation of the present invention, balls and baskets are used in fig. 3 a-3 d to represent that 8 of the 24 OAAs are reserved for exclusive use by real-time commands, and the remaining 16 are shared by real-time and non-real-time commands.

In fig. 3a, there are left and right baskets, which can hold 24 balls for 24 OAAs, wherein the left basket can hold 16 balls for real-time and non-real-time commands, and the right basket can hold 8 balls for real-time commands.

In fig. 3b, the real-time command is represented by a black ball, the non-real-time command is represented by a white ball, and when the command is arbitrated by the arbitrator and issued, the corresponding ball is allocated to the command and put into the corresponding box. When the DDR particle returns a data response, indicating that the command has been processed and is no longer pending, the corresponding ball needs to be removed from the basket. Black balls, which initially represent real-time commands, can only be placed in the right basket and white balls, which represent non-real-time commands, can only be placed in the left basket.

In another embodiment, the arbiter determines to process the real-time command and the non-real-time command to be processed using the remaining receiving capability if the real-time command number exceeds the reserved partial receiving capability and the non-real-time command number does not exceed the remaining receiving capability according to the real-time command number and the non-real-time command number.

As shown in FIG. 3c, after the basket on the right is filled, a new black ball may be placed in the basket on the left.

In another embodiment, the arbiter determines to process the to-be-processed real-time command by using the reserved partial receiving capability and controls the to-be-processed non-real-time command to be in a waiting state until the remaining receiving capability is idle, if the real-time command number does not exceed the reserved partial receiving capability and the non-real-time command number exceeds the remaining receiving capability according to the real-time command number and the non-real-time command number.

Fig. 3d shows that a white ball can only ever be placed in the basket on the left, even if the basket on the right is not full. In this case, the arbiter can only allow real-time commands to pass through and issue, and non-real-time commands can only wait at the arbiter's entry until the left "basket" returns to the not full state.

In the implementation of hardware design, the actual number of black and white balls in two kinds of baskets can be counted by a counter, and the arbitrator assists arbitration decision according to the counting result of the counter. The count of the counter for the real-time command and the non-real-time command may be accumulated from 0, or may be decremented from the maximum value according to the size of the reserved partial receiving capability.

It should be noted that fig. 3 a-3 d are a method of reserving OAAs an absolute number, and the number of pending commands that can be accommodated on the access DDR channel may be very large in some bus designs or configurations, and the practical effect of using the absolute number control method may be reduced.

In view of the above, the embodiment of the present invention further provides a method for controlling quantity in relative numbers, as shown in fig. 4 a-4 c, the rule for placing "balls" in "baskets" in each layer is the same as that shown in fig. 3 a-3 d, only in the case that "baskets" in the next layer are all filled with "balls", a new "ball" can be placed in the corresponding basket in the previous layer, and if the condition cannot be met, the arbitrator will prevent any command from being issued until the specified condition is met. Figures 4 a-4 c implement a mechanism for the relative amount control of OAAs compared to figures 3 a-3 d, which is also somewhat more complex in the design of counters and arbiters.

And S24, issuing a command to be processed to the DDR controller according to the determined QoS control strategy.

In specific implementation, in order to improve bandwidth utilization efficiency, in the embodiment of the present invention, a bandwidth monitor may be further added to the bus, and is configured to obtain bandwidth occupancy information, determine bandwidth occupancy according to the bandwidth occupancy information, and start the QoS control method provided in the embodiment of the present invention when the bandwidth occupancy exceeds a preset threshold, otherwise, the real-time command and the real-time command may share a concurrent receiving capability of the DDR controller, thereby implementing a function of adaptively and dynamically adjusting the bandwidth. Like a bus lane on a road, the use range can be limited only in the rush hour of commuting, and common vehicles can also run on the bus lane at other times.

It should be noted that the most basic decision strategy of the arbiter is to decide which input channel command wins based on the priority ratio between the commands, and the ports can be polled if the maximum priority command exists in more than one at the same time, or the arbitration decision can be made according to the waiting time. The invention introduces a new strategy on the basis of the existing arbitration mechanism to assist an arbiter to make a better decision. The counter in the embodiment of the present invention may be used to count the number of real-time and non-real-time commands that have been issued by the arbiter and are still in pending status, and feed the result back to the arbiter to assist in making an arbitration decision.

Based on this, the to-be-processed command received in step S21 may also carry command priority information, where the priority information corresponding to the real-time command is usually not lower than the priority corresponding to the non-real-time command.

In the QoS control method provided in the embodiment of the present invention, a part of the concurrent receiving capability of the DDR controller is reserved for the real-time command, and the rest is shared by the real-time device and the non-real-time device, so that the design and implementation are simple, the increase of area and delay is hardly caused, and the occurrence of a situation that the response delay is too large and the like affects the user experience is avoided.

Based on the same technical concept, an embodiment of the present invention further provides a bus system, as shown in fig. 5, including:

the control register 51 is used for configuring the size of the reserved partial receiving capacity of the real-time command in advance according to the concurrent processing capacity of the DDR controller, wherein the reserved partial receiving capacity is used for processing the real-time command, and the rest receiving capacity is used for processing the real-time command or the non-real-time command;

the arbiter 52 is configured to receive a to-be-processed command sent by each sending port, where the to-be-processed command carries an equipment identifier; determining a QoS control strategy according to the real-time command number, the non-real-time command number counted by the counter and the reserved partial receiving capacity and the residual receiving capacity; according to the determined QoS control strategy, the command to be processed is issued to the DDR controller;

and the counter 53 is used for respectively counting the number of the real-time commands and the number of the non-real-time commands which are sent to the DDR controller but are not accessed to the DDR particles according to the device identification.

In fig. 5, real-time commands for accessing the memory are represented by black balls, and non-real-time commands are represented by white balls, which are transmitted to the downstream DDR controller after being arbitrated by the bus arbiter.

In one embodiment, the arbiter 52 is specifically configured to determine, according to the real-time command number and the non-real-time command number, to process the to-be-processed real-time command by using the reserved partial receiving capability and process the to-be-processed non-real-time command by using the remaining receiving capability if the real-time command number does not exceed the reserved partial receiving capability and the non-real-time command number does not exceed the remaining receiving capability; according to the real-time command number and the non-real-time command number, if the real-time command number exceeds the reserved partial receiving capacity and the non-real-time command number does not exceed the residual receiving capacity, determining to process the to-be-processed real-time command by utilizing the residual receiving capacity; and according to the real-time command number and the non-real-time command number, if the real-time command number does not exceed the reserved partial receiving capacity and the non-real-time command number exceeds the residual receiving capacity, determining to process the to-be-processed real-time command by using the reserved partial receiving capacity, and controlling the to-be-processed non-real-time command to be in a waiting state until the residual receiving capacity is idle.

In one implementation, the bus system provided by the embodiment of the present invention further includes a bandwidth monitor 54, where:

the bandwidth monitor 54 is configured to obtain bus bandwidth occupation information before the arbiter receives the to-be-processed command sent by each sending port;

the control register 51 is specifically configured to, according to the bus bandwidth occupancy information, start the QoS control method when it is determined that the bus bandwidth occupancy is greater than a preset threshold.

In an embodiment, the to-be-processed command further carries command priority information, where the priority information corresponding to the real-time command is usually not lower than the priority corresponding to the non-real-time command.

Based on the same technical concept, an embodiment of the present invention further provides a computing apparatus, including: a memory, a processor and a computer program stored on the memory and executable on the processor, the computer program when executed by the processor implementing the steps of any of the above QoS control methods.

Based on the same technical concept, an embodiment of the present invention further provides a computer storage medium, where a computer program is stored on the computer storage medium, and when the computer program is executed by a processor, the steps of any QoS control method described above are implemented.

While the invention has been described in connection with specific embodiments thereof, it is to be understood that it is intended by the appended drawings and description that the invention may be embodied in other specific forms without departing from the spirit or scope of the invention.

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据处理装置、方法、计算机设备和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!