TW201017423A - System and method of dynamically switching queue threshold - Google Patents

System and method of dynamically switching queue threshold Download PDF

Info

Publication number
TW201017423A
TW201017423A TW97139870A TW97139870A TW201017423A TW 201017423 A TW201017423 A TW 201017423A TW 97139870 A TW97139870 A TW 97139870A TW 97139870 A TW97139870 A TW 97139870A TW 201017423 A TW201017423 A TW 201017423A
Authority
TW
Taiwan
Prior art keywords
state
data
threshold
cpu
hda
Prior art date
Application number
TW97139870A
Other languages
Chinese (zh)
Other versions
TWI470438B (en
Inventor
Chih-Hao Weng
Ta-Jung Yeh
Original Assignee
Via Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Tech Inc filed Critical Via Tech Inc
Priority to TW97139870A priority Critical patent/TWI470438B/en
Publication of TW201017423A publication Critical patent/TW201017423A/en
Application granted granted Critical
Publication of TWI470438B publication Critical patent/TWI470438B/en

Links

Abstract

A system and method of dynamically switching the threshold of a queue, such as FIFO, is disclosed. The queue has a first threshold and a second threshold, where the first threshold is greater than the second threshold. The queue is switched between the first threshold and the second threshold according to different CPU power state. The queue is then filled with data from system memory whenever the quantity of the data in the queue is less than the switched threshold.

Description

201017423 九、發明說明: 【發明所屬之技術領域】 本發明係有關一種電源管理 (power management ),特別是關於一種動態切換先進先出缓衝器 (FIFO)臨界值的系統及方法。 【先前技術】 英特爾公司(Intel)於西元2004年制訂公告了高解 析聲音(high definition audio,以下簡稱HDA)規格, 其規格詳細内容可以參考High Definition Audio Specification 版本 1.0 及其後績更新版本 (http://www.intel.com/standards/hdaudio/ )。 • 第一圖顯示HDA的基本架構。中央處理器(CPU) 10經由主匯流排(host bus)ll連接至記憶體控制器12, 其係用以控制系統記憶體13的存取。記憶體控制器12經 由系統匯流排(例如PCI)14連接至HDA控制器(HDAC) 15。HDA控制器15經由HDA鏈結(link) 16連接至一 個或多個編解碼器(coder/decoder,codec) 17。HDA 控制器15包含有一個或多個直接記憶體存取(DMA)引 5 201017423 擎(engine)或控制器ι5〇(以下簡稱為^^八),用以 控制系統記憶體13和編解碼器17之間資料流(data stream)的傳送^ HDA鏈結16則是提供一個途徑,讓 HDA控制器15和編声碼器17之間得以傳送控制信號及 資料。每個編解碼器17包含有一個或多個轉換器 (converter’ C),用以將數位信號轉換成類比信號至輸 出裝置(例如喇η八),或者自輸入裝置(例如麥克風)接 ❹收類比信號並將其轉換為數位信號。 DMA 150内含有資料仔列(queue ),例如先進先出 (first in first out, FIFO) ^ϋ ( „T ^ FIK〇), 儲存足夠的資料以維持HDA鏈結16中的資料流,使其不 會有短缺(underrun)或溢出(overrun)情形。因此, 在資料傳送至HDA鏈結16之前,如果FIFO中的資料量 ❿少於一臨界值(threshold),則HDA控制器15會進入 匯流排主控週期(bus master cycle),至系統記憶體13 内存取資料。通常,FIFO臨界值、連續傳送長度(burst length)及FIFO長度(FIFOSIZE)之間具有下表一之關 係,其中h代表16進位數值,DW代表雙字組(double word,其相當於4位元組)·· 201017423 表一201017423 IX. Description of the Invention: [Technical Field] The present invention relates to a power management, and more particularly to a system and method for dynamically switching a FIFO threshold. [Prior Art] Intel Corporation (Intel) announced the specification of high definition audio (HDA) in 2004. The specifications of the specification can refer to the High Definition Audio Specification version 1.0 and its subsequent update version (http). ://www.intel.com/standards/hdaudio/ ). • The first diagram shows the basic architecture of the HDA. A central processing unit (CPU) 10 is coupled to the memory controller 12 via a main bus 1 for controlling access to the system memory 13. The memory controller 12 is coupled to the HDA controller (HDAC) 15 via a system bus (e.g., PCI) 14. The HDA controller 15 is connected to one or more codecs (codecs) 17 via an HDA link 16. The HDA controller 15 includes one or more direct memory access (DMA) instructions 5 201017423 engine or controller ι5〇 (hereinafter referred to as ^^8) for controlling the system memory 13 and the codec. The transfer of the data stream between 17 and the HDA link 16 provides a means for the control signals and data to be transmitted between the HDA controller 15 and the vocoder 17. Each codec 17 includes one or more converters (converter 'C) for converting digital signals into analog signals to an output device (eg, η 八), or from an input device (eg, a microphone). The analog signal is converted to a digital signal. The DMA 150 contains a queue of information, such as first in first out (FIFO) ^ ϋ ( „T ^ FIK〇), which stores enough data to maintain the data stream in the HDA link 16 so that it There will be no underrun or overrun situations. Therefore, before the data is transferred to the HDA link 16, if the amount of data in the FIFO is less than a threshold, the HDA controller 15 enters the sink. The bus master cycle is used to access data in the system memory 13. Generally, the relationship between the FIFO threshold, the burst length and the FIFO length (FIFOSIZE) has the following relationship, where h represents 16 carry value, DW stands for double word (double word, which is equivalent to 4 bytes)·· 201017423 Table 1

FIFOSIZE FIFO臨界值 連續傳送長度 40h DW 31h DW — lOh DW 30h DW 21h DW lOh DW 20h DW 19h DW 8h DW lOh DW dh DW 4h DW 8h DW 7h DW 2h DW 4h DW 4h DW lh DW 其他值 4h DW ·—1 —. lh DW FIFO臨界值的功能在於讓HDA控制器15得以知道何 時必須進入匯流排主控週期(bus master cycle )以取得 系統記憶體13内的資料進行播放(playback)或儲存資 料至系統記憶體13内。藉此,可避免因系統匯流排14忙 ❿碌而造成的資料短缺(under run)情形,作為一種容錯 (tolerance )作用。 第二圖例示一 FIFO ’其總長度為192位元組,而臨界 值為128位元組。以取樣率48 kHz、二頻道、每一頻道 有16位元(或2位元組)的資料格式為例,每一資料框 (frame)含4位元組,即可將,,每一資料框”視為”單位資 7 201017423 料傳輸量”。當FIFO内的資料少於128位元組時,HDA 控制器15即會進入匯流排主控週期(bus master cycle)。由於每一資料框的傳送時間為20.83微秒(//s) (=1Λ48χ103)),即可f等”20.83微秒(”視為'單位 傳輸時間”,因此128位元組可以容納32資料框 (=128/4)達 666 微秒(A s) ( =32x20.83)之久。 參 於第一圖的HDA系統中’輸出入裝置(例如喻叭、耳 機、數據機或麥克風)藉由編解碼器17而連接至HDA控 制器15°HDA鏈結16界面藉由一些基本控制信號來進行 資料的傳送。例如,序列數位輸出信號(serial digital output,以下簡稱iAZS^DO)係用以傳送序列格式資料至 輸出裝置’序列數位輸入信號(serial digital input,以 下簡稱AZSDI)係用以接收輸入裝置的資料;同步信號 參 SYNC係由HDA控制器15所驅動,用以作為資料框之同 步及作為向外標籤(outbound tag)信號;重置信號 AZRST#用以重置HDA鏈結工6 ;時脈信號AZBITCLK為 24MHz時脈信號源,其係由48MHz USBPHY PLL經除 法運算所得到。 8 201017423 當HDA的驅動器(driver)向HDA控制器15發出請 求(request)並設定(set)執行(RUN )位元後,則 HDA控制器15即可藉由DMA 150而與編解碼器17進 行播音、錄音、向外指令環緩衝器序列(command outbound ring buffer,CORB)或向内回應環緩衝器序 列(response inbound ring buffer,RIRB )。 第一圖系統中的電源功率管理單元(power management unit,以下簡稱PMU ) 18係用以控制中央 處理器10的省電睡眠狀態(Cx)。例如惠普(HP)、英特 爾(Intel )等公司所制訂的ACPI ( Advanced Configuration and Power Interface)規格,該規格詳 細内容可以參考網站(http://www.acpi.info/)。根據 ACPI規格’ C0狀態代表CPU 10處於完全工作狀態,而 Φ C1至Cn則為各種睡眠狀態;其中,η值愈大表示CPU 10 閒置程度愈大’亦即愈節省電源。當處於C2 (或以下)狀 態時’系統可以繼續進行系統記憶體14的存取;當處於 C3或以上狀態時’則系統無法進行系統記憶體14的存 取。換句話說,如果處於C4狀態且FIFO内的資料量少於 臨界值時,CPU 10必須從C4轉變至C2狀態,才能向系 統記憶體14請求資料。同樣道理,如果處於C3狀態且 9 201017423 FIFO内的資料量少於臨界值時,CPU 10必須從C3轉變 為C2狀態’才能向系統記憶體14請求資料。 HDA控制器15和編解碼器17可以在睡眠狀態Cx中, 無須軟體觸發而請求匯流排主控事件(event)或者中斷事 件。此時,編解碼器17可驅動azsd〗以告知HDA控制 器15並請求匯流排主控週期或中斷。此azsdj信號可以 參被PMU 18鎖住以形成電源管理事件(p〇wer management event,簡稱 PME 事件),讓 cpu 1〇 離 開睡眠狀態Cx。FIFOSIZE FIFO threshold continuous transmission length 40h DW 31h DW — lOh DW 30h DW 21h DW lOh DW 20h DW 19h DW 8h DW lOh DW dh DW 4h DW 8h DW 7h DW 2h DW 4h DW 4h DW lh DW Other values 4h DW ·— 1 —. lh The function of the DW FIFO threshold is to let the HDA controller 15 know when it is necessary to enter the bus master cycle to obtain data in the system memory 13 for playback or to store data to the system. Inside the memory 13. In this way, the underrun situation caused by the busy bustling of the system bus 14 can be avoided as a kind of tolerance. The second figure illustrates a FIFO' with a total length of 192 bytes and a critical value of 128 bytes. For example, a sampling rate of 48 kHz, two channels, and a 16-bit (or 2-byte) data format for each channel, for example, each data frame (frame) contains 4 bytes, and each data can be The box is regarded as the unit resource 7 201017423 material transmission amount. When the data in the FIFO is less than 128 bytes, the HDA controller 15 will enter the bus master cycle. The transmission time is 20.83 microseconds (//s) (=1Λ48χ103)), which can be equal to 20.83 microseconds ("considered as 'unit transmission time", so 128 bytes can hold 32 data frames (=128/ 4) Up to 666 microseconds (A s) (=32x20.83). In the HDA system of the first figure, the 'input and output device (such as woo, headset, modem or microphone) is coded by 17 The interface connected to the HDA controller 15° HDA link 16 performs data transmission by some basic control signals. For example, serial digital output (iAZS^DO) is used to transmit sequence format data to Output device 'serial digital input (AZSDI) Receiving data of the input device; the synchronization signal SYNC is driven by the HDA controller 15 for synchronization of the data frame and as an outbound tag signal; the reset signal AZRST# is used to reset the HDA chain. 6; The clock signal AZBITCLK is a 24 MHz clock source, which is obtained by dividing the 48 MHz USBPHY PLL. 8 201017423 When the HDA driver issues a request to the HDA controller 15 and sets it to execute. After the (RUN) bit, the HDA controller 15 can perform paging, recording, command outbound ring buffer (CORB) or inward response loop buffer with the codec 17 by the DMA 150. Response inbound ring buffer (RIRB) The power management unit (PMU) 18 in the first system is used to control the power-saving sleep state (Cx) of the central processing unit 10. For example, HP (AC) (Advanced Configuration and Power Interface) specifications developed by companies such as (HP) and Intel (Intel). For details of the specifications, refer to the website (http://www.acpi.info/). ). According to the ACPI specification, the C0 state represents that the CPU 10 is in a fully operational state, and Φ C1 to Cn are in various sleep states; wherein a larger value of η indicates that the CPU 10 is less idle, that is, the power is saved. When in the C2 (or below) state, the system can continue to access the system memory 14; when in the C3 or higher state, the system cannot access the system memory 14. In other words, if in the C4 state and the amount of data in the FIFO is less than the critical value, the CPU 10 must transition from C4 to the C2 state in order to request data from the system memory 14. By the same token, if the amount of data in the FIFO is less than the critical value in the C3 state and 9 201017423, the CPU 10 must change from C3 to the C2 state to request data from the system memory 14. The HDA controller 15 and codec 17 can request a bus master event or interrupt event in the sleep state Cx without software triggering. At this point, codec 17 can drive azsd to inform HDA controller 15 and request a bus master cycle or interrupt. The azsdj signal can be locked by the PMU 18 to form a power management event (PME), which causes the CPU 1 to leave the sleep state Cx.

_ ! -I 第三圖顯示傳滅HDA系統進入及離開睡眠狀態的流程 圖。首先,PMU 18發出信號使得cpu 1〇進入C3或C4 (亦即’ C3/C4)狀態(步驟3〇)。接著,以步驟31判 籲疋HDAC的RUN位元是否為主動(active )。如果RUN 位元非為主動,則cpu ίο處於C3/C4狀態(步驟32A)。 此時’HDA鏈結16處於重置(reset)狀態(步驟33A), 其使得編解碼器17被隱藏住(此時的HDA鏈結16不存 在)。接著,於步驟34A中,如果HDA控制器15偵測 到主動AZSDI信號,則cpu 1〇將離開C3/C4狀態而進 入C0/C2狀態(步驟35);否則,如果HDA控制器15 201017423 偵測到非主動AZSDI信號’則CPU 10維持於C3/C4狀 態(步驟32A)。 如果步驟31所判定的RUN位元為主動,則cpu 處於C3/C4狀態(步驟32B)。此時,HDa鏈結以離 開重置(reset)狀態(步驟33B),其使得編解碼器17 可被顯現出來(此時的HDA鏈結16存在)。接著,於步 φ驟34已中’如果HDA控制器15偵測到主動泣細信號, 或者FIFO内資料少於臨界值,則CPU 1〇將離開 狀態而進入C0/C2狀態(步驟35) ·’否則,cpu 1〇維 持於C3/C4狀態(步驟32B)。 當CPU 10處於C3/C4狀態時,由於^^八裝置亟容 易進入匯流排主控週期,因此,FIFO内並不需要儲存太多 •資料作為播放或錄音之用。傳統HDA系統無論是處於 C3/C4狀態或者C0/C2狀態,均採用固定的Fif〇臨界 值,因此造成CPU 10經常地離開C3/C4以進入c〇/C2 狀態。鑑於傳統之省電睡眠狀態轉換對於省電並非彳艮有效 率,因此亟需提出一種新穎的控制機制,以節省更多的電 源,使得可攜式電子裝置可以在有限電源供應的情形下, 使用更久的時間。 11 201017423 【發明内容】 本發明的目的之-在於提供一種可動態切換資料仔列 (例如fIFQ)之臨界值料統及方法,使㈣統電源之節 省更為有效。 根據本發明實施例,資料佇列(例如FIF〇)設有第一臨 ❹界值及第二臨界值,其中第—臨界值大於第二臨界值。根 據中央處理器(CPU)處於不同之省電狀態而動態切換至資 料知列的第一臨界值或第二臨界值。例如,當CPU由第一 狀態變成較省電的第吁狀態時,由第一臨界值切換至第二 臨界值’當CPU由較省電的第二狀態變成第一狀態時,則 由第一臨界值切換至第一臨界值。當資料佇列内的資料量 少於切換後之第一臨界值或第二臨界值時,則存取一主記 鲁憶體以填滿資料彳宁列。 【實施方式】 第四A圖顯示本發明之動態切換資料佇列(queue)臨 界值的發明概念。資料佇列40A/40B (例如FIFO)設有 第臨界值及第二臨界值,其中第一臨界值大於第二臨界 值根據中央處理器(CPU)處於不同之省電狀態而動態切 12 201017423 換至資料仔列的第一臨界值或第二臨界值。如第四A圖所 示’當CPU由第一狀態變成較省電的第二狀態時,由第一 臨界值之資料佇列40A切換至第二臨界值之資料佇列 40B°當CPU由較省電的第二狀態變成第一狀態時,則由 第二臨界值之資料佇列40B切換至第一臨界值之資料佇列 40A。 ❹ 第四B圖及第四c圖顯示根據本發明實施例之可動態 切換臨界值之FIF〇。本實施例係以HDA系統為例,因此 其系統架構將沿用第一圖所示之系統方塊圖及其標號。雖 然本實施例以HDA為例,然而本發明也可以適用於其他的 聲音規格系統、視訊規格系統,或一般的資料輸出入系統。 例如:集成設備電路(Integrated Device Electronic ; IDE) 系統、序列進階技術附加裝置(Serial Advanced Technology φ Attachment ; SATA)系統或通用序列匯流排(Universal Serial Bus; USB)系統。 在本實施例中,當CPU l〇處於C0/C2狀態時’資料 佇列之臨界值為較大的第一臨界值(第四B圖);當處於 較省電的C3/C4狀態時,資料佇列之臨界值則為較小的 第二臨界值。上述之 CO、C2、C3、C4 為 ACPI( Advanced 13 201017423_ ! -I The third figure shows the flow chart of the HDA system entering and leaving the sleep state. First, the PMU 18 signals that the cpu 1〇 enters the C3 or C4 (i.e., 'C3/C4) state (step 3〇). Next, in step 31, it is determined whether the RUN bit of the HDAC is active. If the RUN bit is not active, cpu ίο is in the C3/C4 state (step 32A). At this time, the HDA link 16 is in a reset state (step 33A), which causes the codec 17 to be hidden (when the HDA link 16 does not exist at this time). Next, in step 34A, if the HDA controller 15 detects the active AZSDI signal, the CPU 1〇 will leave the C3/C4 state and enter the C0/C2 state (step 35); otherwise, if the HDA controller 15 201017423 detects To the inactive AZSDI signal 'the CPU 10 is maintained in the C3/C4 state (step 32A). If the RUN bit determined in step 31 is active, the CPU is in the C3/C4 state (step 32B). At this time, the HDa link leaves the reset state (step 33B), which causes the codec 17 to be revealed (when the HDA link 16 exists). Then, in step 34, if the HDA controller 15 detects the active weeping signal, or the data in the FIFO is less than the critical value, the CPU 1〇 will leave the state and enter the C0/C2 state (step 35). 'Otherwise, cpu 1〇 is maintained in the C3/C4 state (step 32B). When the CPU 10 is in the C3/C4 state, since the device is easy to enter the bus master control cycle, there is no need to store too much data in the FIFO. • The data is used for playback or recording. Conventional HDA systems use a fixed Fif〇 threshold, whether in the C3/C4 state or the C0/C2 state, thus causing the CPU 10 to leave C3/C4 frequently to enter the c〇/C2 state. In view of the fact that the traditional power-saving sleep state transition is not efficient for power saving, it is urgent to propose a novel control mechanism to save more power, so that the portable electronic device can be used in the case of limited power supply. Longer time. 11 201017423 SUMMARY OF THE INVENTION It is an object of the present invention to provide a threshold value system and method for dynamically switching data columns (e.g., fIFQ) to make the (four) system power supply more efficient. According to an embodiment of the invention, the data queue (e.g., FIF〇) is provided with a first threshold value and a second threshold value, wherein the first threshold value is greater than the second threshold value. The first threshold or the second threshold is dynamically switched to the knowledge base according to the central processing unit (CPU) being in a different power saving state. For example, when the CPU changes from the first state to the more power-saving state, the first threshold is switched to the second threshold. When the CPU changes from the second state that is more power-saving to the first state, then the first The threshold is switched to the first threshold. When the amount of data in the data queue is less than the first threshold or the second threshold after the switch, a master record is accessed to fill the data. [Embodiment] FIG. 4A shows the inventive concept of the dynamic switching data queue threshold value of the present invention. The data queue 40A/40B (for example, FIFO) is provided with a first threshold and a second threshold, wherein the first threshold is greater than the second threshold, and the CPU (CPU) is in a different power saving state and dynamically cuts 12 201017423 The first critical value or the second critical value to the data column. As shown in FIG. 4A, when the CPU changes from the first state to the second state that is more power-saving, the data queue 40A of the first threshold is switched to the data of the second threshold 40B° when the CPU is compared. When the second state of the power saving becomes the first state, the data queue 40B of the second threshold value is switched to the data queue 40A of the first critical value. ❹ The fourth B and fourth c diagrams show the FIF 可 which can dynamically switch the threshold according to an embodiment of the present invention. This embodiment takes the HDA system as an example, so its system architecture will follow the system block diagram and its label shown in the first figure. Although the present embodiment is exemplified by the HDA, the present invention is also applicable to other sound specification systems, video specification systems, or general data input and output systems. For example: Integrated Device Electronic (IDE) system, Serial Advanced Technology φ Attachment (SATA) system or Universal Serial Bus (USB) system. In this embodiment, when the CPU l is in the C0/C2 state, the threshold value of the data queue is a larger first threshold (fourth B map); when in a more power-saving C3/C4 state, The threshold of the data queue is a smaller second threshold. The above CO, C2, C3, C4 are ACPI (Advanced 13 201017423

Configuration and Power Interface)規格中的省電狀 態。CPU的省電狀態是由電源功率管理單元(PMU) 18 所控制的。 第四B圖及第四C圖所示之FIF〇係以取樣率48 kHz、二頻道、每一頻道有16位元(或2位元組)的資料 格式為例’每一資料框(frame)含4位元組。在本實施 眷例中,每一資料框(frame)可視為”單位資料傳輸量”之一 種實施型態’然而其並非用以限定本發明。在其他實施例 中,例如:USB系統中,”單位資料傳輸量’,可以為一個” 交易” (Transaction)完|成所涉及的資料傳輸量。對於第四6 圖之FIFO,當HDAi控制器15消耗了 64位元組的資料 後(亦即,FIFO内的資料少於臨界值128位元組時), CPU 10會離開C3/C4狀態並發出匯流排主控週期(bus 籲 mastercycle)。由於每一資料框的傳送時間為2〇 83微 秒(私s) (=1Λ48χ1〇3)),即可將,,2〇·83 微秒(心),, 視為一個”單位傳輸時間”,亦即傳送一個”單位資料傳輸量” 所需花的時間’因此這64位元組資料可讓cpu 1〇停留 於C3/C4狀態達16資料框(=64/4)之久,相當於333 28 微秒(#s) (=16x20.83)。 201017423 當本實義將FIFO料御^四B目的128位元組 (亦即’第一臨界值)切換至第四c圖的64位元組(亦 即’第二臨界值)時,對於相同的資料格式(亦即,取樣 當HDA控制器15消耗了 128位元組的資料後(亦即, FIFO内的資料少於臨界值64位元乡且時),cpui〇會離 C3/C4狀態並發出匯流排主控週期(bus脱啦: 春cycle)。由於每一資料框的傳送時間為加⑽微秒Us) (=1Λ48χ103)) ’因此這128位元組資料可讓cpu 1〇 停留於C3/C4狀態達32個資料框(=128/4)之久,亦 即傳送32個”單位資料傳輸量”所需花的時間,相當於 666.56微秒(yS) (=32x20.83)。相較於第四b圖之 FIFO,第四C圖的FIFO可以讓CPU 1〇停留於C3/C4 狀態的時間多出了 333.28微秒(以s ) ❹(=666.56-333.28)。 CPU 10從CX狀態(X大於或等於3)轉變為C2狀雜 需要花費一些時間。在這段時間内,為了避免資料有短缺 (under run)或溢出(overrun)情形,因此,fif〇 内 必須維持足夠的資料量。鑑於此’新臨界值的設定需足以 應付CPU 1〇狀態轉變的時間》 15 201017423 第五圖例示從C4狀態轉變為C3狀態直到C2狀態的 ^號波形圖° CPU 1〇從C4進入C3狀態需時30.14微 秒 C // 、 ί M J (=12.56+17.58),從C3進入C2狀態需時 870杏科γ β、 ” w、ns),因此,從C4至C2狀態總共需時約32 微秒("q、 〇 。若以一資料框的20.83微秒(/zs)作為一 〇 傳輪時間(time unit of transportation),則第五 魯 馨Power saving status in the Configuration and Power Interface specifications. The power saving state of the CPU is controlled by a power management unit (PMU) 18. The FIFs shown in the fourth and fourth C diagrams are based on a sampling rate of 48 kHz, two channels, and a 16-bit (or 2-byte) data format for each channel. ) contains 4 bytes. In the present embodiment, each frame may be regarded as one of the "unit data transmission amount" embodiments, however, it is not intended to limit the present invention. In other embodiments, for example, in a USB system, the "unit data transfer amount" can be a "transaction" (transaction) completed into the data transfer amount involved. For the fourth 6 graph FIFO, when the HDAi controller 15 After consuming 64 bytes of data (that is, when the data in the FIFO is less than the threshold of 128 bytes), the CPU 10 will leave the C3/C4 state and issue a bus master cycle (bus call mastercycle). Since the transmission time of each data frame is 2〇83 microseconds (private s) (=1Λ48χ1〇3)), you can treat 2, 83 microseconds (heart) as a "unit transmission time". , that is, the time it takes to transmit a "unit data transfer amount". Therefore, this 64-bit data allows cpu 1〇 to stay in the C3/C4 state for up to 16 data frames (=64/4), which is equivalent to 333 28 microseconds (#s) (=16x20.83). 201017423 When this is the case, the 128-bit tuple (that is, the 'first threshold value') of the FIFO material is switched to the 64-bit of the fourth c-picture. The tuple (ie, the 'second threshold'), for the same data format (ie, sampling when the HDA controller 15 consumes 128 bytes of resources) After (that is, the data in the FIFO is less than the critical value of 64 bit township time), cpui〇 will leave the C3/C4 state and issue the bus master control cycle (bus off: spring cycle). Because each data frame The transfer time is plus (10) microseconds Us) (=1Λ48χ103)) 'So this 128-bit data allows cpu 1〇 to stay in the C3/C4 state for up to 32 data frames (=128/4), ie The time it takes to transmit 32 "unit data transfers" is equivalent to 666.56 microseconds (yS) (=32x20.83). Compared to the FIFO of the fourth b-picture, the FIFO of the fourth C-picture can make the CPU 1 The time spent in the C3/C4 state is 333.28 microseconds (in s) ❹ (=666.56-333.28). It takes some time for the CPU 10 to change from the CX state (X is greater than or equal to 3) to C2. During this time, in order to avoid data underrun or overrun, there must be sufficient data in the fif. In view of this, the setting of the new threshold is sufficient to cope with the CPU 1 state transition. Time》 15 201017423 The fifth figure illustrates the waveform of the ^ from the C4 state to the C3 state until the C2 state. The CPU 1〇 enters C3 from C4. The state takes 30.14 microseconds C // , ί MJ (=12.56+17.58), and it takes 870 apricot γ β, “ w, ns) to enter the C2 state from C3. Therefore, the total time from C4 to C2 is about 32. Microseconds ("q, 〇. If 20.83 microseconds (/zs) of a data frame is used as a time unit of transportation, then the fifth Lu Xin

Jf - μ 例子至少需要使用二單位傳輸時間才足以應付 CPU ]^Q 41: At 狀態之轉變。也就是說,第二臨界值可設定為不 ,•1、一 留 » >、一早位傳輪時間的長度。以取樣率48kHz、二頻道、 每一頻道有16位元(或2位元組)的資料格式為例,二 單位傳輪時間相當於I g位元組,即2個,,單位傳輸資料 ” 通常’基於容錯(tolerance)之考量,會再加上數 單位傳輸資料量”作為安全(safety)資料框。例如, 如果cpu ίο從C4轉變至C2狀態可能會超過41·66微秒 (亦即,一單位傳輸時間)的情形發生,則必須加上數個” 單位傳輪資料量”的安全資料框,以避免短缺(under run )或溢出(overrun )情形的發生。 在本實施例中’第二臨界值可以由下式得到: 16 201017423 二狀態/第一狀態變 間V(單位傳輸時 第二臨界值=(單位資料傳輪量)*[(由第 成第-狀態/第二狀態所需的時 間)]+n*(單位資料傳輸量)The Jf - μ example requires at least two units of transmission time to handle the CPU ]^Q 41: At state transition. In other words, the second threshold can be set to no, •1, one stay » >, the length of the morning pass time. Taking a data rate of 48 kHz, two channels, and 16-bit (or 2-byte) per channel as an example, the two-unit transmission time is equivalent to I g bytes, that is, two, and the unit transmits data. Usually, 'based on tolerance considerations, plus a few units of data transferred," as a safety data frame. For example, if the cpu ίο transition from C4 to C2 may exceed 41.66 microseconds (ie, one unit of transmission time), then a number of "unit rounds of data" security data frames must be added. To avoid the occurrence of an underrun or overrun situation. In the present embodiment, the second threshold value can be obtained by the following equation: 16 201017423 Two states/first state transitions V (second threshold value per unit transmission = (unit data transmission amount)*[(from the first - the time required for the status/second state)]+n* (unit data transfer amount)

上式中的η料小㈣的絲,在_實施射可以由一 暫存器中3位元所控制,且η為〇~7之整數其中之-;上 述的安全資料框”即是指η*(單位資料傳輪量卜可視應 用情況而作調整,且不加人(η=⑺或加人安全資料框後的第 二臨界值仍不會大於第—臨界值。料,在一實施例中, 若[(由第二狀態/第一狀態變成第—狀態/第二狀態所需的 時Γ·單位傳輸時間)】所計算的結果並非整數,則可將所 得之商數加1’以避免資料有短缺(under run)或溢出 (overrun)。又,上述的第一臨界值或第二臨界值的單 位可以是位元或是位元組。 第六圖顯示根據本發明實施例之動態切換FIFO臨界值 的流程圖。首先,PMU 18發出信號使得CPU 10進入 C3/C4狀態(步驟60)。接著,以步驟61判定HDAC 的RUN位元是否為主動(active) ^如果RUN位元非為 主動,則CPU 1〇處於C3/C4狀態(步驟62)。此時, HDA鏈結16處於重置(reset)狀態(步驟63),其使 17 201017423 得編解碼器17被隱藏住(此時的HDA鏈結16不存在)。 接著,於步驟64中,如果HDA控制器15偵測到主動 AZSDI信號’則cpu 1〇將離開C3/C4狀態而進入 C0/C2狀態(步驟65);否則,如果hda控制器15摘 測到非主動AZSDI信號,則CPU X〇維持於C3/C4狀態 (步驟62) 〇 ❹如果步驟61所判定的RUN位元為主動,則pMu 會藉由HDA控制!!15ΜΜυΐ8之間的一條連結線而藉 由發出PMU—C3/C4信號(例如第五圖中的#DpSLp(C3) 化號)讓HDA控制n p制得知目前的功率狀態(步雜 66)。與傳統系統(心三圖所示)作一比較,本實施例 中的HDA控㈣15可以主動谓測得知㈣1〇目前的功 率狀態,此為傳統系統所缺少的功能。 接著,將所算出的FIF〇第二臨界值(亦即,C3/C4 狀態的臨界值,例如第四c圖之例子)和FIF〇第一臨界 值(亦即’ C0/C2狀態的臨界值’例如第四b圖所示)作 比較(步驟67)。如果FIFO第二臨界值小於FIF〇第一 臨界值’則將HDA控制器15當中的相關FIfO臨界值切 換為第二臨界值(步驟68A);否則,不作FIF〇臨界值 18 201017423 的切換(步驟68B)。 於臨界值之設定完成後,CPU 10係處於C3/C4狀態 (步驟69 )。此時,HDA鍵結16離開重置(reset)狀 態(步驟70) ’其使得編解碼器17可被顯現出來(此時 的HDA鏈結16存在)。接著,於步驟71中,如果hdA 控制器15 ^(貞測到主動AZSDI信號,或者Fijr〇内資料少 φ於臨界值,則CPU 10將離開CVC4狀態而進入C0/C2 狀態(步驟65);否則,CPU 10維持於C3/C4狀態(步 驟 69)。 根據本發明實施例’由於FIFO臨界值會動態地根據所 處之功率狀態係為C0/C1狀態或者為C3/C4狀態而設定 大小不同的臨界值,使得cpu ίο可以處於C3/C4狀態 ❿達較長的時間,節省更多的電源,使得可攜式電子裝置可 以在有限電源供應的情形下’使用更久的時間。 本發明是針對同一資料佇列臨界值進行”動態”調整,此 與習知在出廠前所進行的人為調整是不一樣的。舉例來 說’如果習知FIFO size原本是40hDw,其臨界值為3工h DW,出廠刖可能因客戶需求,而會故意將封從 19 201017423 40hDW的臨界值調成另一個臨界值ighDW。相對的,本 案之第一臨界值為一般出廢的臨界值(同於習知的臨界 值),第一臨界值中的”單位資料傳輸量”、”單位傳輸時 間”為使用者於使用時,依照使用狀況而得到的值,所以第 二臨界值是可以事後動態加以變動的。The η material small (four) filament in the above formula can be controlled by a 3-bit in a register, and η is an integer of 〇~7 - the above-mentioned safety data frame means η * (The unit data transmission volume can be adjusted according to the application situation, and no person is added (η=(7) or the second critical value after adding the safety data frame is still not greater than the first critical value. In one embodiment If the result calculated by [(the second state/first state becomes the first state/second state required time unit transmission time)] is not an integer, the obtained quotient may be increased by 1' The data may be underrun or overrun. In addition, the unit of the first threshold or the second threshold may be a bit or a byte. The sixth figure shows the dynamics according to an embodiment of the present invention. Flowchart for switching the FIFO threshold. First, the PMU 18 signals that the CPU 10 enters the C3/C4 state (step 60). Next, it is determined in step 61 whether the RUN bit of the HDAC is active (if active) if the RUN bit is not To be active, the CPU 1 is in the C3/C4 state (step 62). At this point, the HDA link 16 is in reset. (reset) state (step 63), which causes the codec 17 of 17 201017423 to be hidden (the HDA link 16 does not exist at this time). Next, in step 64, if the HDA controller 15 detects the active AZSDI The signal 'cpu 1〇 will leave the C3/C4 state and enter the C0/C2 state (step 65); otherwise, if the hda controller 15 extracts the inactive AZSDI signal, the CPU X〇 remains in the C3/C4 state (step 62) If the RUN bit determined in step 61 is active, pMu will issue a PMU-C3/C4 signal by a link between HDA control!!15ΜΜυΐ8 (for example, # in the fifth figure) The DpSLp (C3) number allows the HDA to control the np system to know the current power state (step 66). Compared with the conventional system (shown in the heart diagram), the HDA control (4) 15 in this embodiment can be actively pre-measured. Knowing (4) 1〇 current power state, this is the function that is lacking in the traditional system. Next, the calculated FIF 〇 second critical value (that is, the critical value of the C3/C4 state, for example, the example of the fourth c-picture) And FIF 〇 first critical value (that is, 'C0/C2 state critical value' such as shown in the fourth b diagram) For comparison (step 67). If the FIFO second threshold is less than the FIF 〇 first threshold value, the associated FIfO threshold value in the HDA controller 15 is switched to the second threshold value (step 68A); otherwise, the FIF threshold is not made. The switching of the value 18 201017423 (step 68B). After the setting of the critical value is completed, the CPU 10 is in the C3/C4 state (step 69). At this point, the HDA key 16 leaves the reset state (step 70)' which causes the codec 17 to be revealed (when the HDA link 16 is present). Next, in step 71, if the hdA controller 15^(detects the active AZSDI signal, or the Fijr data is less than the critical value, the CPU 10 will leave the CVC4 state and enter the C0/C2 state (step 65); Otherwise, the CPU 10 maintains the C3/C4 state (step 69). According to an embodiment of the present invention, the FIFO threshold value is dynamically set according to the power state in which the power state is the C0/C1 state or the C3/C4 state. The critical value allows the cpu ίο to be in the C3/C4 state for a longer period of time, saving more power, allowing the portable electronic device to 'use longer time in the case of limited power supply. The present invention is For the "dynamic" adjustment of the same data threshold, this is not the same as the artificial adjustment made at the factory. For example, if the conventional FIFO size is 40hDw, the critical value is 3 hours. DW, after the factory may be due to customer demand, will deliberately adjust the threshold from 19 201017423 40hDW to another threshold ighDW. In contrast, the first critical value of the case is the general waste threshold (same as the conventional Pro Value), "data transmission per unit" in the first critical value, "transmission between the unit" as the value of the user at the time of use, in accordance with the usage obtained, so the second threshold value can be dynamically changes afterwards.

就硬體架構來說’在本發明的一個實施例中,DMA 150 β 可以整合於HDA控制器15中;但是,在其他實施例中, DMA 150則可以配置於HDA控制器15外。再者,於本 發明一實施例中,一個FIFO可以配置對應於一個DMA 150;但是’在其他實施例中,可以將多個FIFO配置對應 : .丨丨 ,’ 至同一 DMA 150,用以_低成本。 以上所述僅為本發明之較佳實施例而已,並非用以限 ❿定本發明之申請專利範圍;凡其它未脫離發明所揭示之精 神下所完成之等效改變或修飾,均應包含在下述之申請專 利範圍内。例如,本發明可適用於需存取主記憶體賢料之 一般資料佇列,不一定侷限在HDA系統中。 【圖式簡單說明】 第一圖顯示HDA的基本架構。 201017423 第二圖例示一總長度為192位元組’臨界值為128位元組 的 FIFO。 第三圖顯示傳統HDA系統進入及離開睡眠狀態的流程圖。 第四A圖顯示本發明之動態切換資料符列(queue)臨界 值的發明概念。 第四B圖及第四C圖顯示根據本發明實施例之可動態切換 臨界值之FIFO。 ^ 第五圖例示從C4狀態轉變為C3狀態直到C2狀態的信號 波形圖。 第六圖顯示根據本發明實施例之動態切換FIFO臨界值的 流程圖。 【主要元件符號說明】In the case of a hardware architecture, in one embodiment of the invention, the DMA 150 β may be integrated into the HDA controller 15; however, in other embodiments, the DMA 150 may be configured outside of the HDA controller 15. Furthermore, in an embodiment of the invention, one FIFO may be configured to correspond to one DMA 150; but in other embodiments, multiple FIFO configurations may be associated: .丨丨, 'to the same DMA 150 for _ low cost. The above is only the preferred embodiment of the present invention, and is not intended to limit the scope of the invention as claimed. Any equivalent changes or modifications made without departing from the spirit of the invention should be included in the following. Within the scope of the patent application. For example, the present invention is applicable to a general data queue that requires access to the main memory, and is not necessarily limited to the HDA system. [Simple diagram of the diagram] The first diagram shows the basic architecture of the HDA. 201017423 The second figure illustrates a FIFO with a total length of 192 bytes and a threshold of 128 bytes. The third figure shows a flow chart of the traditional HDA system entering and leaving the sleep state. The fourth A diagram shows the inventive concept of the dynamic switching data queue threshold of the present invention. The fourth B and fourth C diagrams show FIFOs that can dynamically switch thresholds in accordance with an embodiment of the present invention. ^ The fifth diagram illustrates the signal waveform from the C4 state to the C3 state up to the C2 state. The sixth diagram shows a flow chart of dynamically switching FIFO thresholds in accordance with an embodiment of the present invention. [Main component symbol description]

10 中央處理器(CPU) 11 主匯流排(host bus) 12 記憶體控制器 13 系統記憶體 14 系統匯流排 15 HDA控制器 16 HDA 鏈結(link ) 17 編解碼器(codec) 18 PMU 21 201017423 30-35 傳統HDA系統進入及離開睡眠狀態的流程步驟 40A 設為第一臨界值之資料佇列 40B 設為第二臨界值之資料佇列 60-71 實施例之動態切換FIFO臨界值的流程步驟10 central processing unit (CPU) 11 main bus (host bus) 12 memory controller 13 system memory 14 system bus 15 HDA controller 16 HDA link (link) 17 codec (codec) 18 PMU 21 201017423 30-35 Process of entering and leaving the sleep state of the traditional HDA system Step 40A Set the data of the first threshold value 伫 40B Set the data of the second threshold value 伫 60-71 The process steps of the dynamic switching FIFO threshold value of the embodiment

150 DMA150 DMA

罾 22罾 22

Claims (1)

201017423 十、申請專利範圍: 1. -種動態切換資料仔列(queue)臨界值的线,包含: -資料仔列,其設有-第—臨界值及_第二臨界值,根 據-中央處理器(CPU)處於不同之省電狀態而動態切換至 該資料仔列的該第-臨界值或該第二臨界值,其中該第一 臨界值大於該第二臨界值; 當該資料符列内的資料量少於切換後之該第—臨界值 ❿或該第二臨界值時,則存取一主記憶體以填滿該資料仔列。 2. 如申請專利範圍第1項所述動態切換資料佇列臨界值的 系統,其中當該CPU由一第一狀態變成一第二狀態時,由 該第一臨界值切換至該第二臨界值;當該CPU由該第二狀 態變成該第一狀態時,由該第二臨界值切換至該第一臨界 值,其中該第二狀態比該第一狀態省電。 3. 如申請專利範圍第2項所述動態切換資料佇列臨界值的 系統,其中當該CPU處於C0/C2狀態時,該資料佇列之 臨界值為該第一臨界值;當處於C3/C4狀態時,該資料 佇列之臨界值為該第二臨界值,其中上述之C0、C2、C3、 C4 為 ACPI ( Advanced Configuration and Power Interface)規格中的省電狀態。 23 201017423 4·如申請專利範圍第3項 系統,上述之祕更包含⑽臨界值的 用以控制該CPU的省電狀熊。 70 ^ρΜυ), 5·如申請專利範圍第2項所料態切換資 ❿ 系統’其中該第二臨界值,位資料 由 1臨界值的 "第-狀態變成該第-狀態/第二狀態所需:該第二狀 位傳輪時間細*(單位資料 的時間)/(單 整數。 為不小於〇的 6·如申請專利範圍U項所述動態切換資料 系統,其中該η值由-暫存器中3位元所】臨界值的 之整數其中之一。 1 2 3 4 5為〇〜7 24 1 .如申請專利第:1項所述動態切換資料 2 系統’其中該資_列為先料出緩衝器(FlF〇),^ 3 統更包含至少-直接記憶體存取引擎(DMA),而該柯〇 4 對應至少該DMA配置’以藉由至少該DMA存取該主記憶 5 體以填滿該FIFO。 201017423 8. 如申請專利範圍第1項所述動態切換資料佇列臨界值的 系統,其中該系統為高解析聲音(HDA)系統、集成設備電 路(Integrated Device Electronic ; IDE)系統、序列進階技 術附加裝置(Serial Advanced Technology Attachmeryt ; SATA) 系統或通用序列匯流排(Universal Serial Bus; USB)系統。 9. 如申請專利範圍第1項所述動態切換資料仵列臨界值的 魯系統’其中該系統為尚解析聲音(HDA)系統,該資料仵列 為先進先出缓衝器(FIFO),而該系統更包含一 hda控制 器,該HDA控制器包含有至少一直接記憶體存取引擎 (DMA),且至少該DMA對應該FIFO配置。 10. 如申請專利範圍第9項所述動態切換資料佇列臨界值 的系統,更包含一 HDA鏈結(iink),用以將該DMA連 • 接至一個或多個編解碼器(codec)。 11. 一種動態切換資料佇列(qUeue)臨界值的方法,包含: 根據-中央處理H (CPU)處於不同之省電狀態而動態 切換-資料㈣之臨界值至1 —臨界值或—第二臨界 值’其中該第-臨界值大於該第二臨界值;當該資料符列 25 201017423 ; 内的資料量少於切換後之該第一 臨界值或該第二臨界值 時,則存取一主記憶體以填滿該資料佇列。 12.如申請專利範圍第11項所料態切換資料仵列臨界值 的方法,其中當該CPU由-第—狀態變成—第二狀態時, 由該第-臨界值切換至該第:臨界值;tltcpu由該第二 狀態變成該第-狀態時,由該第二臨界值切換至該第一臨 界值,其中該第二狀態比該第一狀態省電。 13.如中晴專利範圍第12項所述動態切換資料仵列臨界 值的方法,其中當該CPU處於CG/C2狀態時,該資料仔 列之臨界值為該第匕臨界值;當處於C3/C4狀態時,該 資料佇列之臨界值為該第二臨界值,其中上述之c〇、C2、 C3、C4 為 ACPI ( Advanced Configuration and Power φ Interface)規格中的省電狀態。 14·如申請專利範圍第13項所述動態切換資料佇列臨界值 的方法,更包含使用一電源功率管理單元(PMU),用以 控制該CPU的省電狀態。 26 201017423 15.如申請專利範圍第12 的方法,其中㈣一 所34動態切換資料仔列臨界值 狀離/m、i —臨界值=丨(單彳4資料傳輸量)*(由該第二 =:變成該第一狀態/第二狀態所需的時 :=輸時一位資料傳輸量);其中n為不小 16·如申請翻範圍第15項所述動態切換細宁列臨界值 鲁的方法,其中該η值由一暫存器中3位元所控制,η為〜7 之整數其中之一。 17. 如申明專利範圍第項所述動態切換資料佇列臨界值 的方法,更包含使用至少一直接記憶體存取引擎(DMA), 其中該資料佇列為先進先出緩衝器(FIFO),而該FIFO 對應至少該DMA配置,以藉由至少該DMA存取該主記憶 ❹ 體以填滿該FIFO。 18. 如申請專利範圍第11項所述動態切換資料佇列臨界值 的方法’其適用於高解析聲音(HDA)系統、集成設備電路 (Integrated Device Electronic ; IDE)系統、序列進階技術 附加裝置(Serial Advanced Technology Attachment ; SATA)系 統或通用序列匯流排(Universal Serial Bus ; USB)系統。 27 201017423 19.如申請專職圍第u項所述動㈣換細宁列臨界值 的方法’其適用於高解析聲音(HDA)系統 先進先出緩衝器(腦),而該系統更包含—酿控: 器,該HDA控制器包含有至少一直接記憶體存取引擎 (DMA),且至少該DMA對應該FIF〇配置。 φ 2〇.如申請專利範圍第19項所述動態切換資料佇列臨界值 的方法更包含使用一 HDA鏈結(link),用以將該DMA 連接至一個或多個編解碼器(codec)。 ^ : j 21. 如申請專利範圍i第19項所述動態切換資料佇列臨界值 的方法,當該HDA控制器非為主動且系統處於C3/C4狀 態時’若有輸入裝置輸入資料時,則該cpu轉變為c〇/C2 •狀態’其中上述之 co、C2、C3、C4 為 ACPI (Advanced Configuration and Power Interface)規格中的省電狀 態。 22. 如申請專利範圍第19項所述動態切換資料佇列臨界值 的方法’當該HDA控制器為主動且該HDA控制器偵測得 知該CPU進入C3/C4狀態,則該FIFO使用該第二臨界 28 201017423 值’其中上述之 CO、C2、C3、C4 為 ACPI (Advanced Configuration and Power Interface)規格中的省電狀 態。 23.如申請專利範圍第22項所述動態切換資料佇列臨界值 的方法’若該第二臨界值大於該第一臨界值,則該FIf〇 沿用該第一臨界值。 2 4.如申請專利範圍第2 3項所述動態切換資料佇列臨界值 的方法,若有輸入裝置輸入資料或者該FIF〇内資料少於 該第二臨界值時,麟CPU#_⑶似狀態。 25.如申請專利範圍第22項所述動態切換資料仔列臨界值 的方法’其中藉由-電源功率管理單元(pMu)發出 瘳PMU-C3/CW號讓該HDA控制器偵測得知該㈣進入 C3/C4狀態。 29201017423 X. The scope of application for patents: 1. A line that dynamically switches the threshold value of the queue, including: - the data column, which has a -th-threshold value and a second threshold value, according to - central processing The CPU (CPU) is in a different power saving state and dynamically switches to the first critical value or the second critical value of the data string, wherein the first critical value is greater than the second critical value; when the data column is included If the amount of data is less than the first threshold value or the second threshold value after the switching, a primary memory is accessed to fill the data string. 2. The system for dynamically switching data thresholds according to claim 1, wherein when the CPU changes from a first state to a second state, the first threshold is switched to the second threshold. When the CPU changes from the second state to the first state, the second threshold is switched to the first threshold, wherein the second state is saved compared to the first state. 3. The system for dynamically switching data thresholds as set forth in claim 2, wherein when the CPU is in the C0/C2 state, the threshold of the data queue is the first threshold; when in the C3/ In the C4 state, the threshold value of the data queue is the second threshold value, wherein the above C0, C2, C3, and C4 are power saving states in the ACPI (Advanced Configuration and Power Interface) specification. 23 201017423 4· As in the third paragraph of the patent application scope, the above secrets further include (10) a threshold value for controlling the power-saving bear of the CPU. 70 ^ρΜυ), 5· If the second threshold value of the second critical value of the patent application range is changed, the bit data is changed from the first value to the first state/second state. Required: the second position of the transmission time is fine* (time of the unit data) / (single integer. 6 is not less than 〇 6. The dynamic switching data system as described in U of the patent application scope, wherein the η value is by - One of the integers of the 3-bit value in the scratchpad. 1 2 3 4 5 is 〇~7 24 1 . As described in the patent: Item 1: Dynamic switching data 2 system 'where the resource _ column For the first out buffer (FlF〇), the system further includes at least a direct memory access engine (DMA), and the memory 4 corresponds to at least the DMA configuration 'to access the main memory by at least the DMA 5 body to fill the FIFO. 201017423 8. The system for dynamically switching data thresholds as described in claim 1 of the patent scope, wherein the system is a high resolution sound (HDA) system, integrated device circuit (Integrated Device Electronic; IDE) System, Sequence Advanced Technology Add-on (Serial Advanc Ed Technology Attachmeryt; SATA) System or Universal Serial Bus (USB) system 9. The system for dynamically switching data thresholds as described in the first paragraph of the patent application, where the system is still parsing sound (HDA) system, the data is listed as a first in first out buffer (FIFO), and the system further includes an hda controller, the HDA controller includes at least one direct memory access engine (DMA), and at least The DMA corresponds to the FIFO configuration. 10. The system for dynamically switching data thresholds as described in claim 9 further includes an HDA link for connecting the DMA to one or more Codec (codec) 11. A method for dynamically switching the threshold of a data queue (qUeue), comprising: dynamically switching according to - the central processing H (CPU) is in a different power saving state - the critical value of the data (4) to 1 - a critical value or - a second critical value 'where the first critical value is greater than the second critical value; when the data amount in the data column 25 201017423; is less than the first critical value after switching or the second Threshold value , accessing a main memory to fill the data queue. 12. A method for switching data thresholds as recited in claim 11 of the patent application, wherein the CPU changes from a - state to a second In the state, the first critical value is switched to the first: critical value; when tltcpu is changed from the second state to the first state, the second threshold is switched to the first threshold, wherein the second state ratio This first state saves power. 13. The method for dynamically switching data thresholds according to item 12 of the patent scope of Zhongqing Patent, wherein when the CPU is in the CG/C2 state, the threshold value of the data column is the threshold value; when in the C3 In the /C4 state, the threshold value of the data queue is the second threshold value, wherein the above-mentioned c〇, C2, C3, and C4 are power-saving states in the ACPI (Advanced Configuration and Power φ Interface) specification. 14. The method of dynamically switching data thresholds as described in claim 13 of the patent application, further comprising using a power management unit (PMU) for controlling the power saving state of the CPU. 26 201017423 15. For the method of patent application No. 12, in which (4) a 34 dynamic switching data column threshold value is /m, i - critical value = 丨 (single 彳 4 data transmission amount) * (by the second =: Time required to become the first state/second state: = one data transmission amount at the time of transmission); where n is not small 16·If the application is turned over, the dynamic switching of the fine column is the threshold value The method, wherein the η value is controlled by a 3-bit in a register, and η is one of integers of ~7. 17. The method for dynamically switching data thresholds as recited in claim 2, further comprising using at least one direct memory access engine (DMA), wherein the data is listed as a first in first out buffer (FIFO), And the FIFO corresponds to at least the DMA configuration to access the main memory by at least the DMA to fill the FIFO. 18. A method for dynamically switching data thresholds as described in claim 11 of the patent application, which is applicable to a high resolution sound (HDA) system, an integrated device electronic (IDE) system, and a sequence advanced technology attachment. (Serial Advanced Technology Attachment; SATA) system or Universal Serial Bus (USB) system. 27 201017423 19. If you apply for the full-scale sub-paragraph u, the method of changing the threshold value is applied to the high-resolution sound (HDA) system FIFO buffer (brain), and the system is more Control: The HDA controller includes at least one direct memory access engine (DMA), and at least the DMA corresponds to a FIF configuration. φ 2〇. The method for dynamically switching data thresholds as recited in claim 19 further includes using an HDA link to connect the DMA to one or more codecs. . ^ : j 21. If the HDA controller is not active and the system is in the C3/C4 state, as in the case of applying the patent range i, item 19, when the input device inputs data, Then the cpu is changed to c〇/C2 • State 'where the above co, C2, C3, and C4 are the power saving states in the ACPI (Advanced Configuration and Power Interface) specification. 22. The method for dynamically switching data thresholds as recited in claim 19, wherein when the HDA controller is active and the HDA controller detects that the CPU enters a C3/C4 state, the FIFO uses the Second criticality 28 201017423 Value 'The above CO, C2, C3, C4 are the power saving states in the ACPI (Advanced Configuration and Power Interface) specification. 23. The method of dynamically switching data thresholds as recited in claim 22, wherein if the second threshold is greater than the first threshold, the FIf 沿 follows the first threshold. 2 4. If the method for dynamically switching data thresholds according to item 23 of the patent application scope is applied, if there is input device input data or the FIF data is less than the second threshold value, Lin CPU#_(3) state . 25. The method for dynamically switching data thresholds as described in claim 22, wherein the MUPMU-C3/CW number is issued by the power supply management unit (pMu) to cause the HDA controller to detect the (4) Entering the C3/C4 state. 29
TW97139870A 2008-10-17 2008-10-17 System and method of dynamically switching queue threshold TWI470438B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97139870A TWI470438B (en) 2008-10-17 2008-10-17 System and method of dynamically switching queue threshold

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97139870A TWI470438B (en) 2008-10-17 2008-10-17 System and method of dynamically switching queue threshold

Publications (2)

Publication Number Publication Date
TW201017423A true TW201017423A (en) 2010-05-01
TWI470438B TWI470438B (en) 2015-01-21

Family

ID=44830839

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97139870A TWI470438B (en) 2008-10-17 2008-10-17 System and method of dynamically switching queue threshold

Country Status (1)

Country Link
TW (1) TWI470438B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274986B2 (en) 2013-03-06 2016-03-01 Realtek Semiconductor Corp. Data transmission circuit and data transmission method using configurable threshold and related universal serial bus system
CN104050124B (en) * 2013-03-12 2017-06-13 瑞昱半导体股份有限公司 It is applied to the data transmission circuit and data transmission method of USB system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771356A (en) * 1995-01-04 1998-06-23 Cirrus Logic, Inc. Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds
US7343502B2 (en) * 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274986B2 (en) 2013-03-06 2016-03-01 Realtek Semiconductor Corp. Data transmission circuit and data transmission method using configurable threshold and related universal serial bus system
TWI627537B (en) * 2013-03-06 2018-06-21 瑞昱半導體股份有限公司 Data transmission circuit and associated data transmission method applied to universal serial bus system
CN104050124B (en) * 2013-03-12 2017-06-13 瑞昱半导体股份有限公司 It is applied to the data transmission circuit and data transmission method of USB system

Also Published As

Publication number Publication date
TWI470438B (en) 2015-01-21

Similar Documents

Publication Publication Date Title
US8412866B2 (en) System and method of dynamically switching queue threshold
JP3926873B2 (en) Computer system
US20090013056A1 (en) Architecture And Method For Remote Platform Control Management
US8312299B2 (en) Method and apparatus for dynamic power management control using serial bus management protocols
US20080278508A1 (en) Architecture and Method for Remote Platform Control Management
US7533192B2 (en) Task scheduling method in case of simultaneous transfer of compressed data and non-compressed data
US20060265611A1 (en) PCI Express system and method of transitioning link state thereof
US10146290B2 (en) Platform communication protocol
EP2302519A1 (en) Dynamic frequency memory control
TWI465919B (en) Electronic device with thunderbolt interface, connecting method thereof and docking apparatus
JP2004070571A (en) Data transfer control system, electronic equipment, program and data transfer control method
US7337382B2 (en) Data transfer control device, electronic instrument, and data transfer control method
CA2517426C (en) Pre-empting low-priority traffic with high-priority traffic
WO2011076071A1 (en) Computer, monitor and computer display method
JP2013508846A (en) Method and apparatus for display output stutter
TW201017423A (en) System and method of dynamically switching queue threshold
JP4239930B2 (en) Data transfer control system, electronic device and program
US9263000B2 (en) Leveraging compression for display buffer blit in a graphics system having an integrated graphics processing unit and a discrete graphics processing unit
US20230108933A1 (en) Method for Performing System and Power Management Over a Serial Data Communication Interface
US20090110051A1 (en) Method and system for reducing the impact of latency on video processing
TW448365B (en) Bus arbitration method providing preemption function between control chip sets
TW201101012A (en) Circuit for controlling computer power on signal
US6480908B1 (en) Codec system with shadow buffers and method of performing a power down/suspend operation on this codec system
US20060265527A1 (en) Method and apparatus for increasing efficiency in use of data bus
CN101373397B (en) System and method dynamically switching data queue critical value