A method of controlling a master device includes, providing a measured service level by measuring a service level with respect to requests of a master device that is connected to a slave device through an interconnect device and generates the request to demand services from the slave device and controlling a power level of a request control circuit included in the master device based on the measured service level. power consumption of the master device and the system including the master device is reduced without performance degradation by controlling the power level of the request control circuit adaptively based on the measured service level.
|
1. A method of controlling a master device, the master device configured to communicate with a slave device via an interconnect device, the master device including a request control circuit having a request queue therein, the method comprising:
storing requests in respective ones of a plurality of request storage elements within the request queue, the requests each demanding services from the slave device on behalf of the master device;
sequentially issuing the requests to the slave device via the interconnect device from enabled request storage elements one storage element at a time among the plurality of request storage elements within the request queue;
measuring a service level with respect to the requests; and
controlling a power level of the request control circuit by changing, based on the service level, a number of the plurality of request storage elements within respective ones of request queues that are disabled request storage elements blocked from storing the requests to adjust a maximum number of outstanding requests sequentially issuable by the master device.
10. A master device connected to a slave device through an interconnect device, the master device comprising:
a memory including a plurality of request storage elements forming a request queue, the request queue configured to store requests in respective ones of the plurality of request storage elements therein, the requests each demanding services from the slave device on behalf of the master device; and
processing circuitry configured to,
sequentially issuing the requests to the slave device via the interconnect device from enabled request storage elements one storage element at a time among the plurality of request storage elements within the request queue to request the services from the slave device,
measure a service level with respect to the requests, and
control a power level associated with transmission of the requests by changing, based on the service level, a number of the plurality of request storage elements within respective ones of request queues that are disabled request storage elements blocked from storing the requests to adjust a maximum number of outstanding requests sequentially issuable by the master device.
18. A system comprising:
at least one slave device;
a plurality of master devices each configured to generate requests to demand services from the slave device on behalf of a respective one of the plurality of master devices, at least one of the plurality of master devices including,
a request queue configured to store the requests in respective ones of a plurality of request storage elements therein, and
processing circuitry configured to sequentially issue the requests to the slave device via an interconnect device from enabled request storage elements one storage element at a time among the plurality of request storage elements within the request queue, to measure a service level of the requests of the at least one of the plurality of master devices, and to control a power level associated with transmission of the requests by changing, based on the service level, a number of the plurality of request storage elements within respective ones of request queues that are disabled request storage elements blocked from storing the requests to adjust a maximum number of outstanding requests sequentially issuable by the master device; and
the interconnect device coupled to the at least one slave device and the plurality of master devices through respective channels, the interconnect device configured to control a flow of the requests between the at least one slave device and the plurality of master devices.
2. The method of
decreasing the maximum number of the outstanding requests as the service level increases by increasing the number of the disabled request storage elements and decreasing a number of the enabled request storage elements within respective ones of the request queues.
3. The method of
blocking transfer of an operation clock signal and a power supply voltage to the disabled request storage elements.
4. The method of
increasing the number of the disabled request storage elements from N to N+1, in response to the service level being higher than a first reference value; and
decreasing the number of the disabled request storage elements from N+1 to N, in response to the service level being lower than a second reference value, wherein N is an integer.
5. The method of
6. The method of
decreasing a number of the request storage elements receiving an operation clock signal and a power supply voltage as the service level increases.
7. The method of
measuring a latency corresponding to a delay from when the master device issues one of the requests to when a respective one of services is completed.
8. The method of
measuring a bandwidth by measuring a data amount that is serviced or transferred to the master device during a unit time.
9. The method of
measuring at least one of a latency of the master device and a bandwidth of the master device, the latency corresponding to a delay from when the master device issues a respective one of the requests to when a respective one of the services is completed, and the bandwidth corresponding to a data amount that is serviced or transferred to the master device during a unit time.
11. The master device of
a gate circuit including a plurality of switches configured to gate an operation clock signal and a power supply voltage such that the gate circuit blocks transfer of the operation clock signal and the power supply voltage to the disabled request storage elements of the plurality of request storage elements.
12. The master device of
change a number of the disabled request storage elements by setting switch control signals based on the service level.
13. The master device of
activate ones of the switch control signals to instruct respective ones of the plurality of switches to allow transfer of the operation clock signal and the power supply voltage to enabled request storage elements, and
deactivate ones of the switch control signals to instruct respective ones of the plurality of switches to block transfer of the operation clock signal and the power supply voltage to the disabled request storage elements.
14. The master device of
15. The master device of
16. The master device of
calculate a difference between a reference latency and a current latency to generate a latency difference value,
accumulate the latency difference value to detect the latency level.
17. The master device of
|
This U.S. non-provisional application claims priority under 35 USC § 119 to Korean Patent Application No. 10-2019-0090170, filed on Jul. 25, 2019, in the Korean Intellectual Property Office (KIPO), the disclosure of which is incorporated by reference herein in its entirety.
Example embodiments relate generally to semiconductor integrated circuits. For example, at least some example embodiments relate to a master device, a system including the master device and/or a method of controlling the master device.
A system-on-chip (SOC) indicates a chip or a system on the chip in which various semiconductor components are integrated as one chip. The recent market trend is away from application specific integrated circuits (ASICs) and application specific standard products (ASSPs), toward SOC technologies. Further, there is an increasing demand for reducing the size and increasing the performance level of the SOC. While the integration degree of the SOC may be increased by integrating additional components into one chip, an operational speed of the SOC may not increase sufficiently. As the number of integrated intellectual property (IP) devices and the operational speed of the SOC are increased, the power consumption of the SOC is increased.
Some example embodiments may provide a master device, capable of reducing power consumption efficiently. Some example embodiments may provide a system including the master device and/or a method of controlling the master device, capable of reducing power consumption efficiently.
Some example embodiments are related to a method of controlling a master device configured to communicate with a slave device via an interconnect device, the method including measuring a service level with respect to requests from a request control circuit associated with the master device, the requests requesting services from the slave device; and controlling a power level of the request control circuit based on the service level.
Some example embodiments are related to a master device connected to a slave device through an interconnect device, the master device including processing circuitry configured to, transmit requests to the slave device requesting services from the slave device, measure a service level with respect to the requests of the master device, and control a power level associated with transmission of the requests based on the service level.
Some example embodiments are related to a system including at least one slave device; a plurality of master devices each configured to generate requests to demand services from the slave device, at least one of the plurality of master devices including processing circuitry configured to measure a service level of the requests of the at least one of the plurality of master devices, and to control a power level associated with transmission of the requests based on the service level; and an interconnect device coupled to the at least one slave device and the plurality of master devices through respective channels, the interconnect device configured to control request flows between the at least one slave device and the plurality of master devices.
The master device and the method of controlling the master device according to example embodiments may reduce the power consumption of the master device and the system including the master device without performance degradation by controlling the power level of the request control circuit adaptively based on the measured service level.
Example embodiments of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
Various example embodiments will be described more fully hereinafter with reference to the accompanying drawings, in which some example embodiments are shown. In the drawings, like numerals refer to like elements throughout. The repeated descriptions may be omitted.
Referring to
In some example embodiments, as the measured service level, a measured latency may be provided by measuring a latency corresponding to a delay from when the master device issues the request for service to when the requested service is completed.
In other example embodiments, as the measured service level, a measured bandwidth may be provided by measuring a data amount that is serviced or transferred to the master device during a unit time.
In still other example embodiments, as the measured service level, both of the measured latency and the measured bandwidth.
In operation S20, a power level of a request control circuit included in the master device may be controlled based on the measured service level. The control of the power level may indicate controlling power consumption of the master device by controlling an operation clock signal and/or a power supply voltage provided to the request control circuit.
In some example embodiments, the power level of the master device may be controlled by changing a maximum number of outstanding requests that the master device can issue. The power consumption may be reduced by decreasing the maximum number of the outstanding requests as the measured service level increases.
In general, a dynamic voltage and frequency scaling (DVFS) scheme may be adopted to synthetically manage the performance and the power consumption of the master device. The DVFS scheme controls the power level of the master device by changing a frequency of the operation clock signal and/or a voltage level of the power supply voltage depending on the workload of the master device. According to the DVFS scheme, the performance of the master device may be lowered if the power level is decreased to reduce the power consumption of the master device.
In contrast, the master device and the method of controlling a master device according to example embodiments may control only the power level of the request control circuit regardless of the frequency of the operation clock signal and the voltage level of the power supply voltage. Accordingly, the power consumption of the master device may be reduced while the performance of the master device is not affected. According to example embodiments. When the service level of the master device is sufficiently high, the power level of the request control circuit may be reduced without affecting the performance of the master device.
As such, the method of controlling the master device according to example embodiments may reduce the power consumption of the master device and the system including the master device without performance degradation by controlling the power level of the request control circuit adaptively based on the measured service level.
Hereinafter, a system may indicate an SOC in which various semiconductor components are integrated as one chip, but example embodiments are not limited to the SOC.
Referring to
The master device and the slave device may be referred to as an intellectual property (IP) device. The master device may be referred to as a requester and the slave device may be referred to as a responder. The interconnect device may be referred to as a fabric. The master devices and/or slave devices may also be referred to as IP cores or IP blocks. While
The master devices 101, 102, 103 and 104 may generate requests to demand services from at least one of the slave devices 301, 302 and 303, respectively. The slave devices 301, 302 and 303 and the master devices 101, 102, 103 and 104 are coupled to the interconnect device 10 through respective channels. The interconnect device 10 may control request flows between the slave device 301, 302 and 303 and the master devices 101, 102, 103 and 104. For example, the interconnect device 10 may perform an arbitration operation between the requests based on priority information indicating the urgency of the respective requests.
The numbers of the master devices and the slave devices in
At least one of the master devices 101, 102, 103 and 104 may include a service level monitor and a request control circuit.
Each service level monitor MONi (i=1,2,3) may provide a measured service level by measuring a service level with respect to the requests of the corresponding master device.
According to example embodiments, each service level monitor MONi may provide, as the measured service level, at least one of a measured latency and a measured bandwidth. The measured latency may be provided by measuring a latency of the corresponding master device where the latency indicates a delay from when the corresponding master device issues the request for service to when the requested service is completed. The measured bandwidth may be provided by measuring a bandwidth of the corresponding master device, where the bandwidth indicates a data amount that is serviced or transferred to the corresponding master device during a unit time.
Each request control circuit RCCi may control a power level of itself based on the measured service level. In some example embodiments, each request control circuit RCCi may control the power level by changing a maximum number of outstanding requests that the corresponding master device can issue.
As such, the master device according to example embodiments may reduce the power consumption of the master device and the system including the master device without performance degradation by controlling the power level of the request control circuit adaptively based on the measured service level.
Referring to
The internal circuit 200 may have various configurations according to a unique function of the corresponding master device. The service level monitor 500 may provide a measured service level MSL by measuring a service level with respect to the requests of the master device 100. The request control circuit 300 may issue a request REQ and receive a response RSP as a response to the request REQ through a channel connected to the interconnect device 10.
The request control circuit 300 may include a request queue 310, a scheduler 320, a resource controller RSCON 330 and a gate circuit GTC 340.
The request queue 310 may include a plurality of request storage units REG1˜REGn configured to store the request, respectively. When a protocol supporting multiple outstanding transactions or multiple outstanding requests is adopted, the master device may include at least one request queue to store multiple requests. The request queue 310 may store the requests that are not issued yet or unfinished after issued.
The scheduler 320 may determine a service order or an issue order of the requests stored in the request queue 310 based on respective priorities of the requests. According to the determined order, the stored requests may be issued sequentially to the interconnect device 10.
The resource controller 330 may determine a maximum number MXN of outstanding requests that the master device 100 can issue. In some example embodiments, the resource controller 330 may generate a gate control signals GCS based on the maximum number MXN. The gate control signal GCS may include a plurality of switch control signals GCS1˜GCSn as will be described below with reference to
The gate circuit 340 may control an operation clock signal CLK and a power supply voltage VDD to be provided to the plurality of the request storage units REG1˜REGn, respectively, based on the gate control signal GCS.
Referring to
Referring to
The resource controller 330 may change a number of activated switch control signals among the plurality of switch control signals GCS1˜GCSn based on the measured service level MSL provided from the service level monitor 500.
When each switch control signal GCSi (i=1˜n) is activated, the corresponding switch SWi is turned on to transfer the operation clock signal CLK and the power supply voltage VDD to the corresponding request storage unit REGi and thus the corresponding request storage unit REGi may be enabled. In contrast, when each switch control signal GCSi is deactivated, the corresponding switch SWi is turned off to block the operation clock signal CLK and the power supply voltage VDD to the corresponding request storage unit REGi and thus the corresponding request storage unit REGi may be disabled.
The resource controller 330 may, as the measured service level MSL increases, decrease a number of the switch control signals that are activated such that a number of the request storage units receiving the operation clock signal CLK and the power supply voltage VDD may be decreased. In other words, as the measured service level MSL increases, a number of the enabled request storage units among the plurality of request storage units REG1˜REGn may be decreased. As a result, the maximum number MXN of the outstanding requests may be decreased as the measured service level MSL increases.
Referring to
The first through fourth master devices MST1˜MST4 may include first through fourth request queues RQ1˜RQ4, respectively. It is assumed that the first through fourth request queues RQ1˜RQ4 include the same number of request storage units. In
The interconnect device 10 may include various components such as a switch circuit SWT, a converter CNV, and so on. The latency may be increased if the transaction passes through such components.
According to example embodiments, the number of the enabled request storage units may be increased as the latency increases, so as to decrease the latency. In contrast, the number of the enabled request storage units may be decreased as the latency decreases, so as to increase the latency and reduce the power consumption.
The first, second and third master devices MST1, MST2 and MST3 may correspond to the master device adopting the method of controlling a master device according to example embodiments.
In the first case CS1, there is no component through which the transaction between the first master device MST1 and the first slave device SLV1 passes. The latency is relatively short, and thus the number of the enabled request storage units may be relatively small.
In the second case CS2, there exists the component SWT through which the transaction between the second master device MST2 and the second slave device SLV2 passes. The latency of the second case CS2 is increased in comparison with the first case CS1, and thus the number of the enabled request storage units may be increased more than the first case CS1.
In the third case CS3, there exist the more component SWT and CNV through which the transaction between the third master device MST3 and the third slave device SLV3 passes. The latency of the third case is increased in comparison with the second case CS2, and thus the number of the enabled request storage units may be increased more than the second case CS2.
The fourth master device MST4 may correspond to the master device that does not adopt the method of controlling a master device according to example embodiments.
The latency of the fourth case CS4 may be the same as the first case CS1, but all of the request storage units of the fourth master device MST4 are enabled regardless of the latency. Accordingly the latency is decreased too much, that is, the service requirement level is increased too much, and thus the power consumption may be increased more than necessary.
As such, the master device and the method of controlling a master device according to example embodiments may reduce the power consumption of the master device and the system including the master device without performance degradation by controlling the power level of the request control circuit adaptively based on the measured service level.
As illustrated in
In contrast, as illustrated in
Referring to
Referring to
For example, the first logic gate 548 may be implemented as an AND gate that performs an AND operation on a request valid signal ARVALID and a request ready signal ARREADY to output an operation result. The output of the first gate 548 is input to a data terminal D of the first flip-flop 541 and a global clock signal ACLK is input to a clock terminal C of the first flip-flop 541. The first flip-flop 541 samples the output of the first gate 548 in response to a rising edge of the global clock signal ACLK to output a first sampling signal SS1 though an output terminal Q.
For example, the second logic gate 549 may be implemented as an AND gate that performs an AND operation on a service valid signal RVALID, a service ready signal RREADY and a service done signal RLAST to output an operation result. The output of the second gate 549 is input to a data terminal D of the second flip-flop 542 and the global clock signal ACLK is input to a clock terminal C of the second flip-flop 542. The second flip-flop 541 samples the output of the second gate 549 in response to a rising edge of the global clock signal ACLK to output a second sampling signal SS2 though an output terminal Q.
The request valid signal ARVALID, the request ready signal ARREADY, the service valid signal RVALID, the service ready signal RREADY and the service done signal RLAST may be included in the channel signals between the master devices and the interconnect device.
The counter 543 counts a cycle number of the global clock signal ACLK to provide a count signal CNT.
The first latch 544 latches the count signal CNT in response to a rising edge of the first sampling signal SS1 to provide a start count signal CNT1. The first latch 544 may receive a first identification signal ARID associated the request signals ARVALID and ARREADY to provide a first identification code ID1.
The second latch 545 latches the count signal CNT in response to a rising edge of the second sampling signal SS2 to provide an end count signal CNT2. The second latch 545 may receive a second identification signal BID associated the service signals RVALID, RREADY and RLAST to provide a second identification code ID2.
The calculator 546 generates a current latency CLAT based on the start count signal CNT1 and the end count signal CNT2. When the system 1000 adopts a protocol supporting multiple outstanding transactions between the master devices, the interconnect device and the slave devices, the identification signals ARID and BID may be used to determine whether the request signals ARVALID and ARREADY are associated with the same transaction as the service signals RVALID, RREADY and RLAST.
Whenever the start count signal CNT1 and the first identification code ID1 are input, the calculator 546 may upgrade a mapping table 547 to store values ID11, ID12 and ID13 of the first identification code ID1 and corresponding count values C1, C2 and C3 of the start count signal CNT1. When the end count signal CNT2 and the second identification code ID2 are input, the calculator 546 extracts one of the count values C1, C2 and C3 from the mapping table 547 by comparing the value of the second identification signal ID2 and the previously stored values ID11, ID12 and ID13 of the first identification signal ID1.
The extracted value represents a service request timing point and the value of the end count signal CNT2 represents a request done timing point. For example, the service request timing point may correspond to the time at which the service was requested and the request done timing point may correspond to the time at which the request service completed. The calculator 546 may generate the current latency CLAT by calculating the difference between the extracted value representing the service request timing point and the value representing the issue done timing point.
The current latency CLAT obtained as such may be provided as the measured service level for the method of controlling a master device according to example embodiments.
According to the handshake scheme, if a first one of a master interface and a slave interface transfers a signal to a second one of the master interface and the slave interface, the first one activates a valid signal, and then the second one activates a ready signal corresponding to the valid signal when the second one is ready to receive the signal. Sampling of signals is performed in response to rising edges of a global clock signal ACLK at both of the master interface and the slave interface. In other words, a valid signal transfer is fulfilled when both of the valid signal and the ready signal are activated at the same rising edge of the global clock signal ACLK.
As illustrated in
The rising edges of the global clock signal ACLK are represented as timing points T0 through T13 in
As a response to the read request, data D(A0), D(A1), D(A2) and D(A3) of a burst type are transferred from the interconnect device 10 to the master device 100. The data D(A0), D(A1), D(A2) and D(A3) are transferred successfully at timing points T6, T9, T10 and T13, respectively, when both of the service valid signal RVALID and the service ready signal RREADY are activated. The interconnect device 10 activates a service done signal RLAST with transferring the last data D(A3), and the timing point T13 is determined as a service done timing point.
As such, the latency detector 540 of
Depending on the operational characteristic of the master device, the service requirement level may be represented as a latency. The latency may be a delay from when the master device issues the request for service to when the requested service has completed. For example, the latency may be represented as a cycle number of a clock signal.
A latency state of an accumulator in the master device is illustrated using oblique lines in
When the current latency level LCL is higher than a target latency level (e.g., LTL1), the latency may be decreased by increasing the maximum number MXN of the outstanding requests or the number NEQ of the enabled request storage units. In contrast, when the current latency level LCL is lower than a target latency level (e.g., LTL2), the latency may be increased and the power consumption may be reduced by decreasing the maximum number MXN of the outstanding requests or the number NEQ of the enabled request storage units.
The above-described service level monitor may be implemented as a latency monitor 500a as illustrated in
Referring to
The latency detector 540 may generate a current latency CLAT based on channel signals CHN transmitted between the corresponding master device and the interconnect device 10 as described with reference to
The current latency level LCL obtained as such may be provided as the measured service level for the method of controlling a master device according to example embodiments.
Depending on the operational characteristic of the master device, the service requirement level may be represented as a bandwidth. The bandwidth is a data amount that is serviced or transferred during a unit time. For example, data may be serviced to the master device from the slave device such as a memory controller that is coupled to the master device through the interconnect device. The master device may store the serviced data in a data buffer to perform its own function based on the stored data.
A data occupancy state of the data buffer in the master device is illustrated using oblique lines in
The above-described service level monitor may be implemented as a bandwidth monitor 500b as illustrated in
Referring to
For example, the consumed data detector 531 may generate a level decrease signal LDEC based on an operational clock signal CLKm of the corresponding master device and a unit amount UDA of consumed data. For example, the level decrease signal LDEC may indicate how much data has been consumed by the corresponding master device during a given period of time. The serviced data detector 532 may generate a level increase signal LINC based on channel signals CHN transferred between the corresponding master device and the interconnect device 10. For example, the level increase signal LINC may indicate how many transactions are completed for the corresponding master device during a given period of time. The virtual buffer 533 may generate the current bandwidth level BCL based on the level decrease signal LDEC and the level increase signal LINC.
The current bandwidth level BCL obtained as such may be provided as the measured service level for the method of controlling a master device according to example embodiments.
Referring to
For example, when the bandwidth monitor is determined as an implemented type of the service requirement, in operations S230 and S240, the above-described bandwidth monitor detects a consumed data amount and detects a serviced data amount. Thereafter, in operation S410, the band-width monitor determines a current bandwidth level based on the consumed data amount and the serviced data amount.
When the latency monitor is determined as an implemented type of the service requirement, in operations S240 and S250, the above-described latency monitor detects a service request timing point and detects a service done timing point. Thereafter, in operation S420, the latency monitor determines a current latency level based on the service request timing point and the service done timing point.
The above-described request control circuit may control the power level of itself based on at least one of the current bandwidth level and the current latency level.
As such, the appropriate monitors for detecting the service requirement level may be determined and the power consumption may be reduced efficiently.
The master device or the master intellectual property (IP) may be divided into a hard realtime IP, a soft realtime IP and a best effort IP depending on the type or the operational characteristic of the master IP.
The hard realtime IP may be an IP such as a display device that consumes data steadily and thus requires a necessary bandwidth. An underrun of a data buffer in the hard realtime IP may be caused if the necessary bandwidth is not satisfied. The hard realtime IP buffers the serviced data sufficiently in the data buffer if the necessary bandwidth is satisfied and controls the request flow itself such that the hard realtime IP issues the request according to the amount of the consumed data.
To reduce manufacturing cost, an external modem chip may share a memory in the SOC. Such an external modem chip may not operate normally if an average latency requirement level is not satisfied. It may be difficult to determine and fix the average latency requirement level because the type of the modem chip varies.
The soft realtime IP may be an IP such as a video codec that requires an average operation time. The video codec may have a frame rate such as 30 or 60 frames per second and may require an average decode/encode time. The bandwidth requirement level of the video codec may be changed according to respective frames and the video codec may require an average encoding time and/or an average decoding time. The video codec tends to precede the encoding/decoding of the next frame as soon as possible if the request flow is not controlled but the issue of the requests is limited due to dependency between the previously and currently processed data. Thus the operation speed of the video codec may satisfy the determined frame rate if the required bandwidth and/or latency are secured, but the operation speed of the codec may be sharply decreased if the latency becomes greater than a threshold value.
The best effort IP may be an IP such as two-dimensional or a three-dimensional graphics engine that issues requests endlessly if the request flow is not controlled and thus request flow control is needed in the best effort IP. It is desirable to support maximum service requirement levels of the best effort IP if the other IP of higher priority than the best effort IP is not in the urgent state. If the other IP is in the urgent state, the request flow from the best effort IP is limited so that the other IP of the higher priority may exit from the urgent state.
The latency-oriented IP such as a central processing unit (CPU) may have a variable bandwidth requirement level depending on the situation but its performance is directly influenced by an average latency. The request flow of the latency-oriented IP needs to be controlled based on the latency because the average bandwidth requirement level may not be defined.
The measured service level for the method of controlling a master device according to example embodiments may be determined properly according to such characteristics of the master device by measuring the latency and/or the bandwidth.
Referring to
Above described measured the number NEQ of the enabled request storage units may be decreased when the measured service level MSL increases higher than a first reference level. For example, as illustrated in
In contrast, the measured the number NEQ of the enabled request storage units may be increased when the measured service level MSL decreases lower than a second reference level. For example, as illustrated in
Because the measured service level MSL is in an inverse proportion to the latency, the first reference value of the measured service level MSL corresponds to the second reference latency TL2 and the second reference value of the measured service level MSL corresponds to the first reference latency TL1.
For the hysteresis scheme, the second reference value of the measured service level MSL may be set to be lower than the first reference value of the measured service level MSL. When the measured service level MSL corresponds to the measured latency as
Through such control of the number NEQ of the enabled request storage units by the hysteresis scheme, the frequent change of the number NEQ may be prevented and the power consumption may be reduced stably with securing the performance of the master device.
Referring to
The SOC 1010 may be an application processor (AP) SOC including an interconnect device INT and a plurality of intellectual properties or function blocks coupled to the interconnect device INT. For example, as illustrated in
The SOC 1010 may communicate with the memory device 1020, the storage device 1030, the input/output device 1040 and the image sensor 1060 via a bus such as an address bus, a control bus, and/or a data bus. In some example embodiments, the SOC 1010 may be coupled to an extended bus, such as a peripheral component interconnection (PCI) bus.
The memory device 1020 may store data for operating the computing system 2000. For example, the memory device 1020 may be implemented with a dynamic random access memory (DRAM) device, a mobile DRAM device, a static random access memory (SRAM) device, a phase random access memory (PRAM) device, a ferroelectric random access memory (FRAM) device, a resistive random access memory (RRAM) device, and/or a magnetic random access memory (MRAM) device. The storage device 1030 may include a solid state drive (SSD), a hard disk drive (HDD), a CD-ROM, etc. The input/output device 1040 may include an input device (e.g., a keyboard, a keypad, a mouse, etc.) and an output device (e.g., a printer, a display device, etc.). The power supply 1050 supplies operation voltages for the computing system 2000.
The image sensor 1060 may communicate with the SOC 1010 via the buses or other communication links. As described above, the image sensor 1060 may be integrated with the SOC 1010 in one chip, or the image sensor 1060 and the SOC 1010 may be implemented as separate chips.
The components in the computing system 2000 may be packaged in various forms, such as package on package (PoP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carrier (PLCC), plastic dual in-line package (PDIP), die in waffle pack, die in wafer form, chip on board (COB), ceramic dual in-line package (CERDIP), plastic metric quad flat pack (MQFP), thin quad flat pack (TQFP), small outline IC (SOIC), shrink small outline package (SSOP), thin small outline package (TSOP), system in package (SIP), multi-chip package (MCP), wafer-level fabricated package (WFP), or wafer-level processed stack package (WSP).
Example embodiments of the inventive concepts may be applied to any master device requiring power consumption and systems including the master device. For example, the inventive concepts may be applied to systems such as a mobile phone, a smart phone, a personal digital assistant (PDA), a portable multimedia player (PMP), a digital camera, a camcorder, a personal computer (PC), a server computer, a workstation, a laptop computer, a digital TV, a set-top box, a portable game console, a navigation system, a wearable device, an internet of things (IoT) device, an internet of everything (IoE) device, an e-book, a virtual reality (VR) device, an augmented reality (AR) device, etc.
The elements of the systems described herein such as the slave device, interconnect device and the master device, described above, including the request control circuit 300 and service level monitor 500, may be implemented in processing circuitry such as hardware including logic circuits; a hardware/software combination such as a processor executing software; or a combination thereof and memory. For example, the processing circuitry more specifically may include, but is not limited to, a central processing unit (CPU), an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, application-specific integrated circuit (ASIC), etc., and the memory may include various volatile or non-volatile memory devices configured to store information, such as the request queue 310.
The processing circuitry may be special purpose processing circuitry that improves the functioning of the system by controlling the power level of the request control circuit without reducing the frequency of the operation clock signal or the voltage level of the power supply voltage. Accordingly, power consumption of the master device may be reduced while the performance of the master device is not affected.
The foregoing is illustrative of example embodiments and is not to be construed as limiting thereof. Although a few example embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from the present inventive concepts.
Shim, Hojun, Seo, Boeok, Kim, Seonbong
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10206175, | Aug 20 2015 | Apple Inc. | Communications fabric with split paths for control and data packets |
6504823, | Jul 16 1998 | Yazaki Corporation | Network monitoring system and method thereof |
6956401, | Nov 10 2003 | Altera Corporation | Differential input buffers with elevated power supplies |
8155712, | Mar 23 2006 | Qualcomm Incorporated | Low power very high-data rate device |
8201172, | Dec 14 2005 | Nvidia Corporation | Multi-threaded FIFO memory with speculative read and write capability |
8255562, | Jun 30 2008 | International Business Machines Corporation | Adaptive data throttling for storage controllers |
8972689, | Feb 02 2011 | Innovations In Memory LLC | Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media |
9152213, | Jul 25 2011 | SAMSUNG ELECTRONICS CO , LTD | Bus system in SoC and method of gating root clocks therefor |
9158461, | Jan 18 2012 | Western Digital Technologies, Inc. | Measuring performance of data storage systems |
9298210, | Nov 14 2011 | Sony Corporation | Clock gating circuit and bus system |
9395795, | Sep 20 2013 | Apple Inc. | System power management using communication bus protocols |
9442668, | Aug 29 2013 | Western Digital Technologies, INC | Adaptive power management control with performance feedback |
9887918, | Nov 02 2014 | Netronome Systems, Inc. | Intelligent packet data register file that stalls picoengine and retrieves data from a larger buffer |
20040068615, | |||
20040081197, | |||
20040252577, | |||
20050246340, | |||
20070053375, | |||
20090052585, | |||
20090077455, | |||
20090177858, | |||
20090234989, | |||
20100031075, | |||
20100112955, | |||
20100131610, | |||
20100198936, | |||
20100231282, | |||
20100262763, | |||
20100275049, | |||
20110058564, | |||
20110173352, | |||
20110255590, | |||
20110258354, | |||
20120102293, | |||
20120198171, | |||
20120203942, | |||
20120213075, | |||
20120226826, | |||
20130061076, | |||
20130076903, | |||
20130151877, | |||
20130195210, | |||
20130262569, | |||
20130268706, | |||
20140022853, | |||
20140052906, | |||
20140078918, | |||
20140082268, | |||
20140121787, | |||
20140177470, | |||
20140223053, | |||
20150100617, | |||
20150180784, | |||
20150254005, | |||
20150312867, | |||
20150362975, | |||
20150363116, | |||
20160062930, | |||
20160111950, | |||
20160139849, | |||
20160226712, | |||
20160259394, | |||
20160283116, | |||
20170310742, | |||
20180039554, | |||
20180052785, | |||
20180062692, | |||
20190018814, | |||
20190065243, | |||
20190108861, | |||
20190371373, | |||
20200020384, | |||
20200042500, | |||
20200045110, | |||
20200174548, | |||
20200334979, | |||
20200341536, | |||
20210291803, | |||
20210391922, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 29 2020 | SEO, BOEOK | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052139 | /0479 | |
Jan 29 2020 | KIM, SEONBONG | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052139 | /0479 | |
Jan 29 2020 | SHIM, HOJUN | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052139 | /0479 | |
Mar 12 2020 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 12 2020 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Aug 16 2025 | 4 years fee payment window open |
Feb 16 2026 | 6 months grace period start (w surcharge) |
Aug 16 2026 | patent expiry (for year 4) |
Aug 16 2028 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 16 2029 | 8 years fee payment window open |
Feb 16 2030 | 6 months grace period start (w surcharge) |
Aug 16 2030 | patent expiry (for year 8) |
Aug 16 2032 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 16 2033 | 12 years fee payment window open |
Feb 16 2034 | 6 months grace period start (w surcharge) |
Aug 16 2034 | patent expiry (for year 12) |
Aug 16 2036 | 2 years to revive unintentionally abandoned end. (for year 12) |