KR102021795B1 - Adaptive service controller, system on chip and method of controlling the same - Google Patents
Adaptive service controller, system on chip and method of controlling the same Download PDFInfo
- Publication number
- KR102021795B1 KR102021795B1 KR1020130019646A KR20130019646A KR102021795B1 KR 102021795 B1 KR102021795 B1 KR 102021795B1 KR 1020130019646 A KR1020130019646 A KR 1020130019646A KR 20130019646 A KR20130019646 A KR 20130019646A KR 102021795 B1 KR102021795 B1 KR 102021795B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- intelligent
- service
- value
- master
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/82—Architectures of general purpose stored program computers data or demand driven
- G06F15/825—Dataflow computers
Abstract
The system on chip includes at least one slave intelligent element, a plurality of master intelligent elements, an interconnect device and a plurality of service controllers. The master intelligent elements each generate requests for requesting service from the slave intelligent elements. An interconnect device is connected to the slave intelligent device and the master intelligent devices via respective channels, and performs an arbitration operation of the requests. Service controllers adaptively control the request flows of the master intelligent elements as the operating environment of the system on chip is changed.
Description
The present invention relates to a semiconductor integrated circuit, and more particularly, to an adaptive service controller, a system on chip, and a system on chip control method for improving a quality of service of a plurality of master intelligent elements.
A system on chip (SOC) refers to a chip or a system integrated on the chip, in which various semiconductor components are integrated into one. The recent market trend is that the demand for existing application specific integrated circuits (ASICs) and application specific standard products (ASSPs) is gradually shifting to system-on-chip. In addition, the trend toward thinner, shorter and higher functionality of electronic devices is also driving the system-on-chip industry.
As the degree of integration of system-on-chip increases, more components are integrated on one chip, but the operating speed of the system-on-chip is not sufficiently increased. Limited operating speeds make it difficult to meet the service requirements of various master intelligent devices.
One object of the present invention for solving the above problems is to provide a service controller and a system on chip including the same that can adaptively control the request flow according to changes in the operating environment.
One object of the present invention is to provide a method for controlling a system on a chip capable of adaptively controlling a request flow according to a change in an operating environment.
In order to achieve the above object, the system on a chip according to an embodiment of the present invention is at least one slave intelligent device, a plurality of master intelligent devices, each of which generates requests for requesting service to the slave intelligent device, each An interconnection device connected to the slave intelligent element and the master intelligent elements via channels of the interconnection device, performing an arbitration operation of the requests, and adaptively requesting the master intelligent elements according to a change in an operating environment of a system on chip. A plurality of service controllers to control the flows.
The system on chip may further include a global controller generating a global control signal indicating a change in the operating environment based on at least one status signal. The service controllers can control respective request flows based on the global control signal.
The slave intelligent device may include a memory controller, and the master intelligent devices may include a modem and a display controller. The status signal may include a first status signal that is activated when an operating temperature of the memory controller is greater than a reference temperature, a second status signal that is activated when the modem has not received service from the slave intelligent device for a reference time, and the display. It may include at least one of the third state signal that is activated when the storage rate of the data stored in the data buffer of the controller is less than the reference rate.
Each of the service controllers may include: a monitor configured to detect a service demand level of the corresponding master intelligent element in real time and output a credit value indicating the service demand level; And a control block for generating a local control signal for controlling the monitor based on the change in the operating environment, and generating priority information for a request from the corresponding master intelligent element based on the credit value. Can be.
The local control signal may include an overflow value, a unit increase value, and a unit decrease value determined according to a change in the operating environment. The monitor is configured to provide a first counter to generate a first event signal that is activated at a period corresponding to the overflow value, and to the corresponding master intelligent element based on a channel signal between the corresponding master intelligent element and the interconnect device. A service detector for generating a second event signal that is activated each time a service is provided, and incrementing the credit value by the unit increment value each time the first event signal is activated, and when the second event signal is activated Each counter may include a second counter for decreasing the credit value by the unit decrease value.
The control block may control the request flow of the corresponding master intelligent element by changing at least one of the overflow value, the unit increase value, and the unit decrease value based on a change in the operating environment.
The control block facilitates the request flow of the corresponding master intelligent element by decreasing the overflow value, increasing the unit increasing value, or decreasing the unit decreasing value, increasing the overflow value, or increasing the unit increasing value. Reducing or increasing the unit reduction value can suppress the request flow of the corresponding master intelligent element.
The local control signal may further include a still value provided when the operating environment changes. The second counter may decrease the credit value by the still value.
At least one of the service controllers may further include a limiter that blocks a request flow between the corresponding master intelligent element and the interconnect device in response to a limit signal from the control block.
The control block may control the request flow of the corresponding master intelligent element by activating the limit signal when the credit value is less than the grant value and changing the grant value based on a change in the operating environment.
The limiter may include a synchronizer for generating a sync limit signal in response to the limit signal, and a first logic gate configured to logically operate a valid signal from the sync limit signal and the corresponding master intelligent element to output a mask valid signal. And a second logic gate configured to logically operate the sync limit signal and the ready signal from the interconnect device to output a mask ready signal.
The control block may control a request flow of the corresponding master intelligent element by dividing the credit value range to set a plurality of operation modes and differently setting values of the local control signal according to the operation modes. Can be. The operating modes,
And a promotion mode in which the credit value is larger than an upper boundary value, a default mode in which the credit value is smaller than the upper boundary value and larger than a lower boundary value, and a demotion mode in which the credit value is smaller than the lower boundary value.
The control block is based on the operating modes such that a larger bandwidth is allowed in the promotion mode than the default mode for the corresponding master intelligent element and a larger bandwidth is allowed in the default mode than the demotion mode. The values of the local control signal can be set.
The slave intelligent element may include a request queue for storing a plurality of requests delivered from the master intelligent elements via the interconnect device, and a service for the stored requests based on respective priorities of the stored requests. It may include a scheduler for determining the order.
The master intelligent elements include at least one real-time intelligent element, and the service controller corresponding to the real-time intelligent element may generate an emergency signal indicating that an urgent service is required.
The scheduler of the slave intelligent device may increase the priority of requests generated from the real-time intelligent device among the requests stored in the request queue in response to the emergency signal.
The system on chip may further include a transmission line connected point-to-point between the service controller corresponding to the real-time intelligent device and the slave intelligent device. The emergency signal may be transmitted directly from the service controller corresponding to the real-time intelligent device to the slave intelligent device via the transmission line.
The master intelligent elements include at least one best effort intelligent element, the slave intelligent element generates an external limit signal based on a change in the operating environment, and the service controller corresponding to the best effort intelligent element The request flow between the best effort intelligent element and the interconnect device may be blocked in response to the external limit signal.
The slave intelligent device may activate the external limit signal when more requests than the reference number are stored in the request queue and are waiting for service.
The master intelligent devices may further include at least one real-time intelligent device, and the slave intelligent device may activate the external limit signal in response to an emergency signal indicating that an urgent service is required for the real-time intelligent device.
The real-time intelligent device may include a display controller, and the best effort intelligent device may include a processor.
The system on chip may further include a transmission line connected point-to-point between the service controller corresponding to the best effort intelligent element and the slave intelligent element. The external limit signal may be transmitted directly from the slave intelligent element to the service controller corresponding to the best effort intelligent element via the transmission line.
In order to achieve the above object, in accordance with embodiments of the present invention, at least one slave intelligent device and a plurality of master intelligent devices each generating requests for requesting service from the slave intelligent device are connected to an interconnect device. A method of controlling a chip is provided. The method includes generating at least one state signal indicative of a state of at least one of the slave intelligent element and the master intelligent element, a global control signal indicative of a change in the operating environment of the system on chip based on the state signal. And generating adaptive control of the request flows of the master intelligent elements based on the global control signal.
In order to achieve the above object, according to embodiments of the present invention, a service controller is provided for controlling a request flow of a master intelligent device that generates a request for requesting a service from a slave intelligent device.
The service controller detects the service demand level of the master intelligent element in real time and outputs a credit value indicating the service demand level, and generates a local control signal for controlling the monitor based on a change in operating environment. And a control block for generating priority information on a request from the master intelligent element based on the credit value.
The system-on-chip and method for controlling the system-on-chip according to embodiments of the present invention can improve the quality of service (QOS) by adaptively controlling the request flows of the master intelligent elements according to the change of the operating environment. have.
In the control method of the system on chip and the system on chip according to the embodiments of the present invention, the control conditions of the request flows may be independently set for each master intelligent element using a plurality of service controllers assigned to the respective master intelligent elements. Complex scenarios according to changes in the operating environment can be easily implemented.
1 is a block diagram illustrating a system in accordance with embodiments of the present invention.
2 is a flowchart illustrating a control method of a system according to embodiments of the present disclosure.
3 is a block diagram illustrating a service controller according to embodiments of the present invention.
4 is a view for explaining an example of a method for detecting a service request level of a master intelligent element.
FIG. 5 is a block diagram illustrating an embodiment of a monitor included in the service controller of FIG. 3.
6 is a diagram illustrating a method of controlling a request flow based on a credit value according to an embodiment of the present invention.
7 is a view for explaining an example of the operation of the monitor of FIG.
8 is a diagram illustrating an example of a transaction performed by a system according to embodiments of the present invention.
9 is a block diagram illustrating a limiter included in the service controller of FIG. 3.
FIG. 10 is a circuit diagram illustrating an example of a limiter included in the service controller of FIG. 3.
11 is a timing diagram illustrating an operation of the limiter of FIG. 10.
FIG. 12 is a circuit diagram illustrating another example of a limiter included in the service controller of FIG. 3.
FIG. 13 is a timing diagram illustrating an operation of the restrictor of FIG. 12.
14 is a diagram illustrating a method for controlling a system on a chip according to an embodiment of the present invention.
15 is a diagram illustrating a method of controlling a request flow based on a credit value according to an embodiment of the present invention.
FIG. 16 illustrates an example of an operation of the monitor of FIG. 5 according to the method of FIG. 15.
17 is a block diagram illustrating a system according to embodiments of the present invention.
18 is a block diagram illustrating an example of a service controller included in the system of FIG. 17.
19 is a diagram illustrating a method of controlling a request flow based on a credit value according to an embodiment of the present invention.
20 is a diagram illustrating a method for generating an emergency signal according to an embodiment of the present invention.
FIG. 21 is a block diagram illustrating an example of a service controller included in the system of FIG. 17.
FIG. 22 is a diagram illustrating an example of slave intelligent elements included in the system of FIG. 17.
FIG. 23 is a diagram illustrating an example of a request structure and an emergency signal stored in the slave intelligent device of FIG. 22.
24 is a block diagram illustrating an example in which a system on chip according to embodiments of the present invention is applied to an electronic device.
FIG. 25 is a block diagram illustrating an example of an interface used in the electronic device of FIG. 24.
With respect to the embodiments of the present invention disclosed in the text, specific structural to functional descriptions are merely illustrated for the purpose of describing embodiments of the present invention, embodiments of the present invention may be implemented in various forms and It should not be construed as limited to the embodiments described in.
As the inventive concept allows for various changes and numerous modifications, particular embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific disclosed form, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. .
Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. The same reference numerals are used for the same elements in the drawings, and duplicate descriptions of the same elements are omitted.
1 is a block diagram illustrating a system in accordance with embodiments of the present invention. The system referred to below may include a system on chip (SOC) in which various semiconductor components are integrated on one chip.
Referring to FIG. 1, the
Master
The plurality of master
The
The plurality of
The change in the operating environment may be provided using one or more status signals ST1, ST2, ST3. For example, the second slave
The
The
The
The above-mentioned scenarios may be variously determined according to an operating characteristic of the
In one embodiment, as shown in FIG. 1, the
In another embodiment,
The number of master intelligent elements and slave intelligent elements shown in FIG. 1 may be variously changed. Depending on the operating characteristics of the master intelligent device, the service controllers may have different configurations, and some service controllers may be omitted.
2 is a flowchart illustrating a system control method according to embodiments of the present invention.
FIG. 2 illustrates a control method of a system in which at least one slave intelligent device and a plurality of master intelligent devices each generating requests for requesting service from the slave intelligent device are connected to the interconnect device.
1 and 2, at least one of the slave
Hereinafter, various embodiments of the control method of the system of FIG. 1 and the system of FIG. 2 will be described with reference to FIGS. 3 to 23. Only components necessary for the description of the embodiments may be illustrated in FIGS. 3 to 23, and redundant descriptions may be omitted.
3 is a block diagram illustrating a service controller according to embodiments of the present invention.
3 shows one
Referring to FIG. 3, the
The
The service demand level may be detected by bandwidth, outstanding count value, and / or average latency. Bandwidth represents the amount of data transmitted or serviced at a given time. As described below, the credit value CRD corresponds to the bandwidth. The outstand count value is the number of requests that have already been issued from the master intelligent device but have not yet completed. The latency represents a time interval from when the master intelligent device requests a service to the slave intelligent device to when the requested service is completed. The monitor of FIG. 3 may be implemented to further provide at least one of bandwidth, outstand count value and average latency as well as the credit value CRD.
The
The
4 is a view for explaining an example of a method for detecting a service request level of a master intelligent element.
Depending on the operation characteristics of the master intelligent device, the service requirement level of the master intelligent device may be expressed as a bandwidth. Bandwidth represents the amount of data transmitted or serviced at a given time. For example, a master intelligent device such as a display controller may receive data from a slave intelligent device such as a memory controller connected through an interconnect device, store data in a data buffer, and consume the stored data to perform its own functions. Can be.
In FIG. 4, the data occupancy state of the line buffer included in the master intelligent element is shown by hatching. The occupancy state of the data may be represented by a line buffer pointer LBP. When data is serviced from the slave intelligent device (DATA IN), the line buffer pointer LBP increases in the full direction, and when the master intelligent device consumes data (DATA OUT), the line buffer pointer LBP is empty. Decrease in the direction of.
As the line buffer pointer LBP increases, a low priority may be given, and as the line buffer pointer LBP decreases, a high priority may be given. That is, the higher the priority, the higher the bandwidth required. The relationship between the line buffer pointer LBP and the priority may be set according to the overall scenario of the system. For example, an area between the full and the empty areas of the line buffer pointer LBP may be divided into a plurality of areas to sequentially assign the priority to each area.
FIG. 5 is a block diagram illustrating an embodiment of a monitor included in the service controller of FIG. 3.
Referring to FIG. 5, the
The
The
The
As such, the current bandwidth requirement level of the corresponding master
The overflow value OV, unit increase value INC, unit decrease value DEC, and still value STL may be included in the local control signal LCON from the
6 is a view for explaining a method of controlling a request flow based on a credit value according to an embodiment of the present invention, and FIG. 7 is a view for explaining an example of an operation of the monitor of FIG. 5.
6 and 7, each time the first event signal CEV is activated, the credit value CRD increases in the direction of the maximum value MAX, and each time the second event signal SEV is activated, the credit value ( CRD) decreases in the direction of the minimum value MIN. The activation period of the first event signal CEV corresponds to the target bandwidth and the average activation period of the second event signal SEV corresponds to the real-time bandwidth currently being serviced. As shown in FIG. 7, when the real time bandwidth is smaller than the target bandwidth, the credit value CRD gradually increases, and when the real time bandwidth is larger than the target bandwidth, the credit value CRD gradually decreases.
The
The
As described above with reference to FIG. 3, the at least one
If the
8 is a diagram illustrating an example of a transaction performed by a system according to embodiments of the present invention.
8 illustrates an example of a read transaction according to an advanced extensible interface (AXI) protocol for convenience of description. The AXI protocol employs a handshake mechanism that uses valid signals (ARVALID, RVALID) and ready signals (ARREADY, RREADY).
According to the handshake method, one side of the master interface and the slave interface activates the valid signal during signal transmission, and the other side activates the ready signal when ready for reception. Sampling of the transmission signal is performed in synchronization with the rising edge of the global clock signal ACLK at both the master interface and the slave interface. Thus, valid signal transmission occurs only when both the valid signal and the corresponding ready signal are activated on the rising edge of the global clock signal ACLK.
As shown in FIG. 8, when the master
In FIG. 8, time points representing the rising edges of the global clock signal ACLK are represented by T0 to T13. The master interface, for example, the master
Data (D (A0), D (A1), D (A2), D (A3)) is transmitted from the
As such, the
Latency (LAT) represents the time interval from the time when the master intelligent device requests the service to the slave intelligent device to the completion of the requested service, for example, the latency (LAT) is expressed as the number of cycles of the clock signal, etc. Can be.
9 is a block diagram illustrating a limiter included in the service controller of FIG. 3.
Referring to FIG. 9, a
The
The
FIG. 10 is a circuit diagram illustrating an example of a limiter included in the service controller of FIG. 3.
Referring to FIG. 10, the
The flip-
The
For example, when the synchronization limit signal SMSK is deactivated to a logic low level, the
11 is a timing diagram illustrating an operation of the limiter of FIG. 10.
As described with reference to FIG. 8, the master
Due to the discrepancy of the criterion, even though the effective signal transmission is not actually performed, only one of the master
In order to prevent such an error, the
At sampling points SP1 and SP3 that do not belong to the mask period, the mask valid signal MVALID and the mask ready signal MREADY have the same logic level as the valid signal VALID and the ready signal READY, respectively. The handshake is performed and valid signal transmission is made at sampling points SP1 and SP3. On the other hand, at the sampling point SP2 belonging to the mask period, even though both the valid signal VALID and the ready signal READY are activated, the master
FIG. 12 is a circuit diagram illustrating another example of a limiter included in the service controller of FIG. 3.
Referring to FIG. 12, the
The
The
For example, when the synchronization limit signal SMSKb is deactivated to a logic high level, the
FIG. 13 is a timing diagram illustrating an operation of the restrictor of FIG. 12.
As described with reference to FIG. 8, the master
Due to the discrepancy of the criterion, even though the effective signal transmission is not actually performed, only one of the master
In order to prevent such an error, the
At sampling points SP1 and SP5 not belonging to the mask section, the mask valid signal MVALID and the mask ready signal MREADY have the same logic level as the valid signal VALID and the ready signal READY, respectively. The shake is performed, and valid signal transmission is performed at the sampling points SP1 and SP5. On the other hand, at the sampling points SP2, SP3, and SP4 belonging to the mask period, even though both the valid signal VALID and the ready signal READY are activated, the master
14 is a diagram illustrating a method for controlling a system on a chip according to an embodiment of the present invention.
14 illustrates scenarios for controlling the request flow of the system for example cases. The system includes at least a processor, a modem, and a display controller as master intelligent elements, which can issue requests to a memory controller corresponding to slave intelligent elements of a common resource, respectively, requesting service. .
The master intelligent devices may be classified into hard realtime IP devices, soft realtime IP devices, and best effort IP devices according to their types.
Hard real-time intelligent devices, such as display intelligent devices, are intelligent devices that consistently use data of a constant bandwidth and underrun of the data buffer if the required bandwidth is not guaranteed. By ensuring a constant bandwidth, these intelligent devices can fill the data buffers sufficiently and control the request flow on their own, generating requests only as they consume data.
On the other hand, in order to reduce the manufacturing cost of the system, an external modem chip (external modem chip) may be used to share the memory of the system on chip. Such an external modem chip has an error when an average latency requirement is not satisfied. In the case of a modem chip, a request comes into the system on chip only when communication occurs, and there are various types of modem chips, so it is difficult to determine the bandwidth requirements of the modem chip.
Like a video codec, a soft real-time intelligent device has a frame rate (e.g., 30, 60 per sec) and has several frame buffers with slightly different bandwidth requirements depending on the characteristics of the frame. It is an intelligent device that guarantees an average decode / encode time. Such an intelligent device has a characteristic of passing the decode / encode to the next frame as soon as possible without controlling the request flow, but has a dependency between data so that many requests are not made at once. Thus, while the constant bandwidth and / or latency is guaranteed, the operation speed satisfies the frame rate, but if the latency exceeds the threshold, the decode / encode time increases rapidly, resulting in a decrease in the operation speed.
Best-effort intelligent devices are intelligent devices that generate requests continuously without controlling the request flow, such as a 2D, two-dimensional and / or three dimensional graphics engine, or a direct memory access controller (DMAC). These intelligent devices must do flow control. It is desirable to provide as much service as possible for slave intelligent devices, such as memory controllers, without restricting the request flow, unless high priority intelligent devices are in an emergency. However, if an urgent situation occurs in a high priority intelligent device, the request of the best effort intelligent device should be limited to a level that allows the slave intelligent device to relax so that the high priority intelligent device can be released from the emergency situation.
On the other hand, latency oriented IP devices such as CPUs do not have the required bandwidth and bandwidth requirements vary greatly depending on the situation, but performance is directly affected by the average latency. Since these intelligent devices are difficult to define bandwidth requirements, they should be given priority to service the system according to average latency.
The first case CASE1 of FIG. 14 shows a default case in which the system operates in a normal state. Processors are typical best-effort intelligent devices and display controllers are typical real-time intelligent devices. The above-described overflow value OV, acceptance value GRN, and unit reduction value DEC may be appropriately set according to operating characteristics of the master intelligent elements. The aforementioned unit increment value INC may be set to a value of 1 for all cases and all master intelligent elements. According to an embodiment, the unit increment value INC may also be set to a different value according to the scenario and the operation characteristics of the master intelligent device. The overflow value OV may correspond to the number of cycles of the operation clock, for example, the cycle period of the operation clock may be 1 ns (nano second). The first case CASE1 of FIG. 1 may correspond to a case in which the display controller operates at 640 MB / sec and the processor operates at 2560 MB / sec.
The second case CASE2 may correspond to a case in which the third state signal ST3 described with reference to FIG. 1 is activated. That is, the second case CASE2 may be a case in which an urgent service for the display controller is required because the storage rate of the data stored in the data buffer of the display controller is smaller than the reference rate. In this case, the overflow value of the processor may be set larger than the default case to suppress the request flow of the processor, and the overflow value of the display controller may be set smaller than the default case to facilitate the request flow of the display controller. In addition, when the operating environment changes from the first case (CASE1) to the second case (CASE2), the request flow of the processor can be quickly suppressed by reducing the credit value of the processor (STEAL) once. The second case (CASE2) may correspond to a case where the display controller operates at 1280 MB / sec and the processor operates at 1920 MB / sec.
The third case CASE3 may correspond to a case in which the first state signal ST1 described with reference to FIG. 1 is activated. That is, the third case CASE3 may be a case where the operating speed of the memory controller is reduced because the operating temperature of the memory controller is greater than the reference temperature. In this case, set the overflow value of the processor corresponding to the best effort intelligent element larger than the default case to suppress the request flow of the processor, and set the overflow value of the display controller corresponding to the real-time intelligent element smaller than the default case. Maintain the bandwidth of the display controller. On the other hand, the request flow can be suppressed as a whole by setting the unit reduction value DEC for all master intelligent devices to be larger than the default case. In addition, when the operating environment changes from the first case (CASE1) to the third case (CASE3), the request flow of the processor can be quickly suppressed by reducing the credit value of the processor once. The third case (CASE3) may correspond to a case in which the display controller operates at 640 MB / sec and the processor operates at 960 MB / sec.
The fourth case CASE4 may correspond to a case where the first state signal ST1 and the third state signal ST3 described with reference to FIG. 1 are activated together. That is, in the fourth case (CASE4), the storage rate of the data stored in the data buffer of the display controller is smaller than the reference rate, so that urgent service for the display controller is required, and the operation temperature of the memory controller is greater than the reference temperature, thereby operating the memory controller. It may be the case that the speed is reduced. In this case, set the overflow value of the processor corresponding to the best effort intelligent element larger than the default case to suppress the request flow of the processor, and set the overflow value of the display controller corresponding to the real-time intelligent element smaller than the default case. Maintain the bandwidth of the display controller. Meanwhile, the unit reduction value DEC may be set larger than the default value for the processor and the modem to suppress the request flow to ensure the bandwidth of the display controller. In addition, when the operating environment changes from the first case (CASE1), the second case (CASE2), or the third case (CASE3) to the fourth case (CASE4), the request of the processor is reduced once by reducing the credit value of the processor. The flow can be quickly suppressed. The fourth case (CASE4) may correspond to a case in which the display controller operates at 1280 MB / sec and the processor operates at 320 MB / sec.
The fifth case CASE5 may correspond to a case in which the second state signal ST2 described with reference to FIG. 1 is activated. That is, the fifth case (CASE5) may be a case in which the modem does not receive a service from the memory controller for more than a reference time. In this case, the request flow of the processor may be blocked by setting the overflow value of the processor corresponding to the best effort intelligent element to infinity. Setting the overflow value of the processor to infinity may be to activate the limit signal LMT regardless of the above-described credit value CRD. The request flow between the processor and the interconnect device can be blocked by activating the limit signal LMT in response to the global control signal GCON representing the fifth case CASE5. In addition, when the operating environment changes from the first case (CASE1) to the fifth case (CASE5), the credit value of the processor may be reduced once.
As such, the system on chip and the method for controlling the system on chip according to the embodiments of the present invention may improve the quality of service by adaptively controlling the request flows of the master intelligent elements according to a change in the operating environment. In addition, since a control condition of request flows can be independently set for each master intelligent element using a plurality of service controllers assigned to each master intelligent element, a complicated scenario according to a change in an operating environment can be easily implemented.
FIG. 15 is a diagram illustrating a method of controlling a request flow based on a credit value according to an embodiment of the present invention, and FIG. 16 is a diagram illustrating an example of an operation of the monitor of FIG. 5 according to the method of FIG. 15. to be.
As described above, each time the first event signal CEV is activated, the credit value CRD increases in the direction of the maximum value MAX, and each time the second event signal SEV is activated, the credit value CRD is increased. Decrease in the direction of the minimum value (MIN). The
15 and 16, the control block 530 sets a plurality of operation modes by dividing a range of a credit value CRD, and values OV and INC of the local control signal LCON according to the operation modes. , DEC) can be set differently to control the request flow of the corresponding master intelligent element.
For example, the operation modes may include a capture mode, a default mode, and a demotion mode. Promotion mode corresponds to when the credit value (CRD) is greater than the upper boundary value (UPBN), and default mode corresponds to when the credit value (CRD) is less than the upper boundary value (UPBN) and greater than the lower boundary value (LWBN). The demotion mode corresponds to a case where the credit value CRD is smaller than the lower boundary value LWBN.
The
17 is a block diagram illustrating a system according to embodiments of the present invention. Since the
Referring to FIG. 17, the
The plurality of master
The master
The
The master
The
18 is a block diagram illustrating an example of a service controller included in the system of FIG. 17.
The
The
The
At least a portion of the
19 is a diagram illustrating a method of controlling a request flow based on a credit value according to an embodiment of the present invention.
Referring to FIG. 19, the control block 540 illustrated in FIG. 18 sets a plurality of operation modes by dividing a range of a credit value CRD, and sets values of the local control signal LCON according to the operation modes. By setting (OV, INC, DEC) differently, the request flow of the corresponding master intelligent element can be controlled.
For example, the operation modes may include an emergency mode, a captive motion mode, a default mode, and a demotion mode. The emergency mode corresponds to the case where the credit value CRD is greater than the emergency level UGL, and the promotion mode corresponds to the case where the credit value CRD is greater than the upper boundary value UPBN. The emergency level UGL may be set to be equal to the upper boundary value UPBN or may be set to be larger than the upper boundary value UPBN. The default mode corresponds to when the credit value (CRD) is less than the upper boundary value (UPBN) and greater than the lower boundary value (LWBN), and the demotion mode is when the credit value (CRD) is less than the lower boundary value (LWBN). Corresponding.
The
In addition, the
20 is a diagram illustrating a method for generating an emergency signal according to an embodiment of the present invention.
Referring to FIG. 20, the emergency signal UGNT may be generated in a hysteresis manner by setting the activation condition and the deactivation condition of the emergency signal UGNT differently. The
In this case, at the time t2 when the credit value CRD becomes smaller than the rising emergency level UGLR, the activation state of the emergency signal UGNT is maintained as it is, and the credit value CRD is lowered to the falling emergency level UGLF. The emergency signal UGNT is deactivated at the time point t3. By generating the emergency signal UGNT in such a hysteresis scheme, it is possible to prevent the frequent operation mode change and to control the real-time intelligent device to stably solve the emergency state.
FIG. 21 is a block diagram illustrating an example of a service controller included in the system of FIG. 17.
The
The
The limit signal LMT is activated when the corresponding best effort
FIG. 22 is a diagram illustrating an example of slave intelligent elements included in the system of FIG. 17.
Referring to FIG. 22, the slave
The
The
The
In this manner, the emergency signal UGNT and the external limit signal ELMT can be used to promote the request flow of the real-time intelligent device and to suppress the request flow of the best effort intelligent device according to the change in the operating environment.
FIG. 23 is a diagram illustrating an example of a request structure and an emergency signal stored in the slave intelligent device of FIG. 22.
Referring to FIG. 23, the requests REQ stored in the
The emergency signal UGNT may include a flag value FLG representing an emergency state of the master intelligent device and a master identifier MID representing the master intelligent device that generated the emergency signal UGNT. According to an embodiment, the emergency signal UGNT may include only the flag value FLG, and a master identifier MID representing the master intelligent element that generated the emergency signal UGNT may be provided as a separate signal.
The
24 is a block diagram illustrating an example in which a system on chip according to embodiments of the present invention is applied to an electronic device.
Referring to FIG. 24, the
The system on
The system on
The
The
At least some of the components of the
Meanwhile, the
FIG. 25 is a block diagram illustrating an example of an interface used in the electronic device of FIG. 24.
Referring to FIG. 25, the
The
In one embodiment, the DSI host 1111 may include a serializer (SER), and the
The
The system and system control method according to embodiments of the present invention may be usefully used in any apparatus and system including a plurality of master intelligent elements and at least one slave element commonly accessed by the master intelligent elements. Can be. In particular, the present invention can be usefully used in a system-on-chip in which a variety of semiconductor components are integrated in one chip, and digital cameras, mobile phones, PDAs, and PMPs that require miniaturization, high performance, and high-speed operation are required. ), And may be more usefully used for portable devices such as smartphones.
While the invention has been described above with reference to preferred embodiments, those skilled in the art will be able to make various modifications and changes to the invention without departing from the spirit and scope of the invention as set forth in the claims below. I will understand.
100, 101, 102, 103: master intelligent device
10: interconnect device
301 and 302: slave intelligent elements
500, 501, 502: service controller
PRT: Priority Information
UGNT: emergency signal
LMT: limit signal
ELMT: external limit signal
Claims (20)
A plurality of master intelligent elements each generating requests for requesting a service from the slave intelligent element;
An interconnection device connected to the slave intelligent element and the master intelligent elements via respective channels, the interconnection device performing an arbitration operation of the requests; And
A plurality of service controllers for adaptively controlling request flows of the master intelligent elements according to a change in an operating environment of a system on chip;
Each of the service controllers,
A monitor for detecting a service requirement level of the corresponding master intelligent element in real time and outputting a credit value indicating the service requirement level; And
A control block for generating a local control signal for controlling the monitor based on a change in the operating environment and for generating priority information for a request from the corresponding master intelligent element based on the credit value. On chip.
A global controller for generating a global control signal indicative of a change in the operating environment based on at least one status signal,
And the service controllers control respective request flows based on the global control signal.
The slave intelligent device includes a memory controller,
The master intelligent elements include a modem and a display controller,
The state signal is,
A first status signal activated when the operating temperature of the memory controller is greater than a reference temperature;
A second status signal activated when the modem has not received service from the slave intelligent device for more than a reference time; And
And at least one of a third state signal activated when a storage rate of data stored in a data buffer of the display controller is less than a reference rate.
The local control signal includes an overflow value, a unit increase value, and a unit decrease value determined according to a change in the operating environment,
The monitor,
A first counter for generating a first event signal activated at a period corresponding to the overflow value;
A service detector for generating a second event signal that is activated whenever a service is provided to the corresponding master intelligent element based on a channel signal between the corresponding master intelligent element and the interconnect device; And
And a second counter that increases the credit value by the unit increase value each time the first event signal is activated, and decreases the credit value by the unit decrease value each time the second event signal is activated. System-on-chip.
And control a request flow of the corresponding master intelligent element by changing at least one of the overflow value, the unit increase value, and the unit decrease value based on a change in the operating environment.
The local control signal further includes a still value provided when the operating environment changes,
And the second counter decreases the credit value by the still value.
And a limiter that blocks a request flow between the corresponding master intelligent element and the interconnect device in response to a limit signal from the control block.
And control the request flow of the corresponding master intelligent element by activating the limit signal when the credit value is less than the grant value and changing the grant value based on a change in the operating environment.
A synchronizer for generating a synchronization limit signal in response to the limit signal;
A first logic gate for logic operation of the sync limit signal and the valid signal from the corresponding master intelligent element to output a mask valid signal; And
And a second logic gate for logic operation of the sync limit signal and the ready signal from the interconnect device to output a mask ready signal.
The plurality of operating modes are set by dividing the range of credit values, and the values of the local control signal are set differently according to the operating modes to control the request flow of the corresponding master intelligent element. On chip.
A request queue for storing a plurality of requests delivered from the master intelligent elements via the interconnect device; And
And a scheduler that determines a service order for the stored requests based on priorities of the stored requests.
The master intelligent elements include at least one real-time intelligent element,
And the service controller corresponding to the real-time intelligent device generates an emergency signal indicating that an urgent service is required.
And the scheduler of the slave intelligent device increases the priority of requests generated from the real-time intelligent device among the requests stored in the request queue in response to the emergency signal.
The master intelligent elements include at least one best effort intelligent element,
The slave intelligent device generates an external limit signal based on the change of the operating environment,
And the service controller corresponding to the best effort intelligent element interrupts a request flow between the best effort intelligent element and the interconnect device in response to the external limit signal.
And the slave intelligent device activates the external limit signal when more than a reference number of requests are stored in the request queue and are waiting for service.
The master intelligent elements further comprise at least one real-time intelligent element,
And the slave intelligent device activates the external limit signal in response to an emergency signal indicating that an urgent service is required for the real-time intelligent device.
The real-time intelligent device includes a display controller,
And the best effort intelligent device comprises a processor.
Generating at least one state signal indicative of a state of at least one of the slave intelligent element and the master intelligent element;
Generating a global control signal indicating a change in an operating environment of the system on chip based on the status signal; And
Adaptively controlling request flows of the master intelligent elements based on the global control signal,
Controlling request flows of the master intelligent elements,
Detecting a service demand level of the corresponding master intelligent element in real time and outputting a credit value indicating the service demand level; And
Generating a local control signal for controlling the monitor based on a change in the operating environment, and generating priority information for a request from the corresponding master intelligent element based on the credit value; Chip control method.
A monitor for detecting a service requirement level of the master intelligent element in real time and outputting a credit value representing the service request level; And
And a control block for generating a local control signal for controlling the monitor based on a change in operating environment and for generating priority information for a request from the master intelligent element based on the credit value.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/799,785 US9684633B2 (en) | 2013-01-24 | 2013-03-13 | Adaptive service controller, system on chip and method of controlling the same |
DE102013213300.6A DE102013213300A1 (en) | 2013-01-24 | 2013-07-08 | Adaptive service controller, system-on-chip, and method of controlling the same |
JP2013162213A JP6219091B2 (en) | 2013-01-24 | 2013-08-05 | Adaptive service controller, system on chip, and system on chip control method |
CN201310346570.1A CN103970710B (en) | 2013-01-24 | 2013-08-09 | Adaptive service controller, system on chip and the method for controlling it |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361756217P | 2013-01-24 | 2013-01-24 | |
US61/756,217 | 2013-01-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140095399A KR20140095399A (en) | 2014-08-01 |
KR102021795B1 true KR102021795B1 (en) | 2019-09-17 |
Family
ID=51743858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130019646A KR102021795B1 (en) | 2013-01-24 | 2013-02-25 | Adaptive service controller, system on chip and method of controlling the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102021795B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102466160B1 (en) * | 2016-01-08 | 2022-11-14 | 삼성전자주식회사 | System on chip and integrated chip performing data loopback operation, and mobile device having the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177296A1 (en) * | 2002-03-18 | 2003-09-18 | Hugh Kurth | Dynamic request priority arbitration |
US20080209093A1 (en) * | 2007-02-28 | 2008-08-28 | National Chiao Tung University | Fine-grained bandwidth control arbiter and the method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761516A (en) * | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
-
2013
- 2013-02-25 KR KR1020130019646A patent/KR102021795B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177296A1 (en) * | 2002-03-18 | 2003-09-18 | Hugh Kurth | Dynamic request priority arbitration |
US20080209093A1 (en) * | 2007-02-28 | 2008-08-28 | National Chiao Tung University | Fine-grained bandwidth control arbiter and the method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20140095399A (en) | 2014-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6219091B2 (en) | Adaptive service controller, system on chip, and system on chip control method | |
KR101949382B1 (en) | System on chip of enhancing quality of service and method of controlling a system on chip | |
JP4222251B2 (en) | Bus arbitration apparatus and bus arbitration method | |
US8943249B2 (en) | System on chip improving data traffic and operating method thereof | |
US7752373B2 (en) | System and method for controlling memory operations | |
US9270610B2 (en) | Apparatus and method for controlling transaction flow in integrated circuits | |
US11748284B2 (en) | Systems and methods for arbitrating traffic in a bus | |
US10423558B1 (en) | Systems and methods for controlling data on a bus using latency | |
WO2006072844A2 (en) | Streaming memory controller | |
US20140122790A1 (en) | Dynamic priority management of memory access | |
US20110197038A1 (en) | Servicing low-latency requests ahead of best-effort requests | |
US11055243B1 (en) | Hierarchical bandwidth allocation bus arbiter | |
US10649922B2 (en) | Systems and methods for scheduling different types of memory requests with varying data sizes | |
EP1894108A2 (en) | Memory controller | |
US9891840B2 (en) | Method and arrangement for controlling requests to a shared electronic resource | |
KR102021795B1 (en) | Adaptive service controller, system on chip and method of controlling the same | |
KR101420290B1 (en) | Bus arbiter capable of grouping transactions, bus device and system including the same | |
US9910812B2 (en) | Initiating multiple data transactions on a system bus | |
JP2005316609A (en) | Bus arbitration device and bus arbitration method | |
US11886365B2 (en) | DMA control circuit with quality of service indications | |
US11418361B2 (en) | Master device, system and method of controlling the same | |
US10417148B2 (en) | Bus system and bus traffic control apparatus for controlling the same | |
JP5623150B2 (en) | Electronic device and control method thereof | |
US20150006775A1 (en) | Bridge circuit to arbitrate bus commands | |
JP2009025890A (en) | Electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |