[go: up one dir, main page]

TWI629595B - 可攜式裝置及其控制方法 - Google Patents

可攜式裝置及其控制方法 Download PDF

Info

Publication number
TWI629595B
TWI629595B TW104130399A TW104130399A TWI629595B TW I629595 B TWI629595 B TW I629595B TW 104130399 A TW104130399 A TW 104130399A TW 104130399 A TW104130399 A TW 104130399A TW I629595 B TWI629595 B TW I629595B
Authority
TW
Taiwan
Prior art keywords
input
processor
output
instruction
channel
Prior art date
Application number
TW104130399A
Other languages
English (en)
Other versions
TW201612760A (en
Inventor
葉西城
Original Assignee
宏達國際電子股份有限公司
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 宏達國際電子股份有限公司 filed Critical 宏達國際電子股份有限公司
Publication of TW201612760A publication Critical patent/TW201612760A/zh
Application granted granted Critical
Publication of TWI629595B publication Critical patent/TWI629595B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

一種可攜式裝置。該可攜式裝置包括一主要處理器、一輸入輸出處理器、耦接於該主要處理器以及該輸入輸出處理器之間的一通道埠以及耦接於該輸入輸出處理器之至少一輸入/輸出元件。該通道埠包括複數通道。該主要處理器以及該輸入輸出處理器佔用該通道之一者,用以在該主要處理器以及該輸入輸出處理之間傳送一第一指令,並在根據該第一指令執行一程序之後,釋放掉所佔用之該通道。

Description

可攜式裝置及其控制方法
本發明係有關於一種可攜式裝置,特別是有關於一種可攜式裝置之控制方法。
一般而言,標準安卓(Android)系統係使用Linux裝置驅動器層(Linux device driver layer)來控制不同的輸入/輸出元件。然而,在此架構下,全部的輸入/輸出元件係由不同的硬體驅動器來驅動,而每個硬體驅動器可能會有不同的軟體錯誤,其中這些軟體錯誤需要用不同的方式來解決。因此,需要一種適用於不同輸入/輸出元件的控制方法,以便在產品開發階段能節省解決不同軟體問題所需的時間與人力。
本發明提供一種可攜式裝置。該積體電路包括:一主要處理器;一輸入輸出處理器;一通道埠,耦接於該主要處理器以及該輸入輸出處理器之間,具有複數通道;以及至少一輸入/輸出元件,耦接於該輸入輸出處理器。該主要處理器以及該輸入輸出處理器佔用該通道之一者,用以在該主要處理器以及該輸入輸出處理之間傳送一第一指令,並在根據該第一指令執行一程序之後,釋放掉所佔用之該通道。
再者,本發明提供一種控制方法,適用於一可攜 式裝置。該可攜式裝置包括一主要處理器、一輸入輸出處理器、耦接於該輸入輸出處理器之一輸入/輸出元件,以及耦接於該主要處理器以及該輸入輸出處理器之間且具有複數通道之一通道埠。佔用該通道之一者,以便在該主要處理器以及該輸入輸出處理之間傳送一第一指令。根據該第一指令執行一程序。在根據該第一指令執行該程序之後,釋放掉所佔用之該通道。
10‧‧‧韌體與應用層
20‧‧‧外部資料庫與運行層
30‧‧‧硬體抽象層
40‧‧‧存根層
50‧‧‧Linux裝置驅動器層
60‧‧‧硬體層
100‧‧‧軟體系統
110‧‧‧通道層
120‧‧‧輸入輸出處理器層
130‧‧‧即時作業系統層
140‧‧‧裝置驅動器層
200‧‧‧可攜式裝置
210、470‧‧‧主系統
220‧‧‧圖形處理單元
222‧‧‧視頻模組
224‧‧‧照相機模組
226‧‧‧顯示模組
228‧‧‧影像信號處理模組
230‧‧‧JPEG編碼器
232‧‧‧資料壓縮模組
234‧‧‧資料解壓縮模組
236‧‧‧靜態隨機存取記憶體
240‧‧‧中央處理單元
242‧‧‧基頻晶片
250‧‧‧記憶體控制器
252、254‧‧‧雙倍資料率同步動態隨機存取記憶體
260、300、400‧‧‧子系統
270、310、410、510‧‧‧通道埠
272、312、420‧‧‧輸入輸出處理器
274、314、450‧‧‧音頻引擎
280、230‧‧‧雙埠隨機存取記憶體
282、330‧‧‧安全數位輸入輸出控制器
284、332‧‧‧通用序列匯流排3.0控制器
290、340‧‧‧通用輸入輸出控制器
292、350‧‧‧通用序列匯流排2.0控制器
360‧‧‧序列匯流排控制器
370‧‧‧音頻取樣率轉換器與混波控制器
430、530-570‧‧‧裝置
440‧‧‧電源管理單元
442‧‧‧時脈管理器
444‧‧‧內部裝置電源閘單元
446‧‧‧電流與溫度監測器
455‧‧‧音頻介面
460‧‧‧電源管理積體電路
510_A-510_N‧‧‧通道
520‧‧‧虛擬矩陣
BUS1-BUS6‧‧‧匯流排一-匯流排六
CMD‧‧‧指令
CMD_Int、H_Int、Host_Int、INTR1、INTR2‧‧‧中斷指令
DAT‧‧‧資料
GPIO、I2C、SPI、Audio、GPIO、USB2.0、SLIM BUS、I2S‧‧‧信號
S602-S618、S702-S710、S802-S818、S902-S910‧‧‧步驟
第1圖係顯示根據本發明一實施例所述之可攜式裝置之軟體系統的架構;第2A與2B圖係顯示根據本發明一實施例所述之可攜式裝置之硬體架構;第3圖係顯示根據本發明另一實施例所述之可攜式裝置之子系統的硬體架構;第4圖係顯示根據本發明另一實施例所述之可攜式裝置之硬體架構;第5圖係顯示根據本發明一實施例所述之可攜式裝置中主系統與子系統之間的通道之方塊圖;第6圖係顯示根據本發明一實施例所述之可攜式裝置的控制方法;第7圖係顯示根據本發明一實施例所述之第6圖之步驟S610的流程圖;第8圖係顯示根據本發明另一實施例所述之可攜式裝置的 控制方法;第9圖係顯示根據本發明一實施例所述之第8圖中步驟S810的流程圖。
為讓本發明之該和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:第1圖係顯示根據本發明一實施例所述之可攜式裝置之軟體系統100的架構。軟體系統100包括韌體與應用層(framework and application layer)10、外部資料庫與運行層(external-libraries and runtime layer)20、硬體抽象層(hardware abstraction layer,HAL)30、存根層(stub layer)40、Linux裝置驅動器層50以及硬體層60。相較於傳統的安卓(android)軟體系統,軟體系統100更包括通道層(channel layer)110、輸入輸出處理器層120、即時作業系統(OS)層130以及裝置驅動器層140。根據軟體系統100,可使用獨立的處理器來管理設置在可攜式裝置或是外部連接於可攜式裝置之輸入/輸出(input/output)元件,並控制可攜式裝置的電源管理,以便減少可攜式裝置之主要處理器的負載。於是,主要處理器可進入閒置模式或是睡眠模式,因而能降低可攜式裝置的耗電量。
第2A與2B圖係顯示根據本發明一實施例所述之可攜式裝置200之硬體架構。可攜式裝置200包括主系統210以及子系統260。可攜式裝置200可以是智慧型電話或是平板電腦。 主系統210包括匯流排一BUS1與匯流排二BUS2、圖形處理單元(GPU)220、視頻模組222、照相機模組224、顯示模組226、影像信號處理(Image Signal Processing,ISP)模組228、聯合圖像專家群(Joint Photographic Experts Group,JPEG)編碼器230、資料壓縮模組232、資料解壓縮模組234、靜態隨機存取記憶體(SRAM)236、中央處理單元(CPU)240、基頻晶片242、記憶體控制器250,以及兩個雙倍資料率同步動態隨機存取記憶體(DDR SDRAM)252與254。匯流排一BUS1為多媒體內連匯流排,而匯流排二BUS2為低延遲(low-latency)內連匯流排。在主系統210內,主作業系統係由中央處理單元240(主要處理器)所執行,以便執行高速運算,例如影像處理運算、資料壓縮/解壓縮運算等。在此實施例中,主作業系統可以是嵌入式作業系統,例如,內嵌於唯讀記憶體(ROM)、快閃記憶體或是任何非揮發性記憶體(未顯示)之安卓(Android)作業系統或是以微軟視窗(Microsoft Window)為基礎的作業系統。子系統260包括匯流排三BUS3與匯流排四BUS4、通道埠270、輸入輸出處理器272、音頻引擎274、雙埠隨機存取記憶體(RAM)280、安全數位輸入輸出(Secure Digital Input Output,SDIO)控制器282、通用序列匯流排(USB)3.0控制器284、通用輸入輸出(GPIO)控制器290、通用序列匯流排2.0控制器292。相較於匯流排四BUS4,匯流排三BUS3為高速匯流排,用以在主系統210之記憶體控制器250以及子系統260的電路之間傳送資料。通用輸入輸出控制器290係介面控制器,用以提供不同標準介面,例如內部整合電路(Inter-Integrated Circuit,I2C)、串列週邊介面(Serial Peripheral Interface,SPI)等。通道埠270耦接於中央處理單元240以及輸入輸出處理器272之間。此外,通道埠270係經由匯流排二BUS2而耦接於中央處理單元240,並經由匯流排三BUS3而耦接於輸入輸出處理器272。在子系統260中,即時作業系統係由輸入輸出處理器272所執行,以執行可攜式裝置200的輸入/輸出介面操作,以便對耦接於子系統260之輸入/輸出元件進行存取,其中輸入/輸出元件可以是設置在可攜式裝置200的內部輸入或輸出裝置或是連接於可攜式裝置200之外部輸入或輸出裝置DEV1-DEV3。例如,裝置DEV1可以是音頻編解碼器(codec),而通用輸入輸出控制器290可經由串列週邊介面而耦接於可攜式裝置200之裝置DEV1。裝置DEV2可以是通用序列匯流排裝置,而通用序列匯流排2.0控制器292係經由通用序列匯流排介面而耦接於裝置DEV2。裝置DEV3可以是安全數位卡(SD card),而安全數位輸入輸出控制器282係經由安全數位卡(SD card)介面而耦接於裝置DEV3。在可攜式裝置200中,中央處理單元240會經由通道埠270與輸入輸出處理器272進行通訊。因此,可攜式裝置200的輸入輸出應用可分離於由中央處理單元240所執行的主作業系統,即由輸入輸出處理器272所執行的即時作業系統係專屬於輸入輸出應用。在此實施例中,音頻引擎274以及裝置DEV1、DEV2與DEV3可以是子系統260的輸入/輸出元件。在另一實施例中,控制器以及所連接之裝置可以是輸入/輸出元件。例如,通用輸入輸出控制器290以及所連接之裝置DEV1為第一輸入/輸出元件、通用序列匯流排2.0控制器292以及所連 接之裝置DEV2為第二輸入/輸出元件,以及安全數位輸入輸出控制器282以及所連接之裝置DEV3為第三輸入/輸出元件。
第3圖係顯示根據本發明另一實施例所述之可攜式裝置之子系統300的硬體架構。子系統300係連接於主系統,其係相似於或是相同於第2A圖中的主系統。子系統300包括匯流排五BUS5與匯流排六BUS6、通道埠310、輸入輸出處理器312、音頻引擎314、雙埠隨機存取記憶體320、安全數位輸入輸出控制器330、通用序列匯流排3.0控制器332、GPIO控制器340、通用序列匯流排2.0控制器350、序列匯流排控制器360以及音頻取樣率轉換器(Sample Rate Conversion,SRC)與混波控制器370。在此實施例中,子系統300係實施於積體電路內。在一實施例中,子系統300以及主系統係實施於相同積體電路內。通道埠310係耦接於輸入輸出處理器312以及可攜式裝置之主系統的匯流排(例如第2A圖之匯流排二BUS2)之間。輸入輸出處理器312係經由匯流排五BUS5而與音頻引擎314、通道埠310、雙埠隨機存取記憶體320、安全數位輸入輸出控制器330以及通用序列匯流排3.0控制器332進行通訊。再者,匯流排五BUS5係經由匯流排七BUS7而耦接於主系統之雙倍資料率記憶體,於是子系統300的電路能經由匯流排五BUS5與匯流排七BUS7對主系統之雙倍資料率記憶體進行存取。在一實施例中,安全數位輸入輸出控制器330以及通用序列匯流排3.0控制器332能經由匯流排七BUS7來存取主系統之雙倍資料率記憶體,而不用經過匯流排五BUS5。雙埠隨機存取記憶體320耦接於匯流排五BUS5與匯流排六BUS6之間,其中匯流排五BUS5 為高速輸入輸出處理匯流排,例如64bit/133Mhz匯流排。GPIO控制器340係耦接於匯流排六BUS6,其中輸入輸出處理器312可根據由通道埠310所接收來自主系統之指令,而控制GPIO控制器340來經由GPIO介面而傳送資料至外部裝置。此外,當GPIO控制器340經由GPIO介面而接收到來自外部裝置的資料時,輸入輸出處理器312會經由通道埠310而發出指令至主系統,以便將所接收之來自外部裝置的資料提供至主系統。通用序列匯流排2.0控制器350係耦接於匯流排六BUS6,其中根據經由通道埠310所接收之來自主系統的指令,輸入輸出處理器312能控制通用序列匯流排2.0控制器350來經由通用序列匯流排2.0介面而傳送資料至通用序列匯流排2.0。再者,當通用序列匯流排2.0控制器350經由通用序列匯流排2.0介面而接收到來自通用序列匯流排2.0裝置的資料時,輸入輸出處理器312會經由通道埠310而發出指令至主系統,以便將所接收之來自通用序列匯流排2.0裝置所提供的資料傳送至主系統。序列匯流排控制器360係耦接於匯流排六BUS6,其中輸入輸出處理器312能根據經由通道埠310所接收之來自主系統的指令,而控制序列匯流排控制器360經由I2C介面或是SPI介面來傳送資料至其他裝置。再者,當序列匯流排控制器360經由I2C介面或是SPI介面而接收到來自於其他裝置的資料時,輸入輸出處理器312會經由通道埠310而發出指令至主系統,以便提供所接收之來自其他裝置的資料至主系統。音頻取樣率轉換器與混波控制器370係耦接於匯流排六BUS6,其中輸入輸出處理器312能根據經由通道埠310所接收之來自主系統之指令而控制音頻取樣率 轉換器與混波控制器370,來經由序列低功耗晶片間媒體(Serial Low-power Inter-chip Media,SLIM)匯流排介面或是內部整合電路音頻(Inter-IC sound,I2S)介面而傳送音頻資料至音頻元件。再者,當音頻取樣率轉換器與混波控制器370接收到來自音頻元件的音頻資料時,輸入輸出處理器312會經由通道埠310而發出指令至主系統,以便提供所接收之來自音頻元件的音頻資料至主系統,以供後續處理。
第4圖係顯示根據本發明另一實施例所述之可攜式裝置之硬體架構。可攜式裝置包括子系統400以及主系統470,其中主系統470係連接於子系統400且相似於或是相同於第2A圖中的主系統。即時作業系統係由子系統400所執行。子系統400包括通道埠410、用來執行即時作業系統之輸入輸出處理器420、複數裝置430、音頻引擎450、音頻介面455、電源管理單元440、時脈管理器442、內部裝置電源閘單元444以及電流與溫度監測器446。在此實施例中,裝置430與音頻引擎450可以是子系統400的輸入/輸出元件。通道埠410係耦接於主系統470以及輸入輸出處理器420之間,其中主作業系統係在主系統470內所執行。通道埠410包括用以在主系統470以及子系統400之間傳送指令以及不同資料的複數通道,包括但並不用以限定音頻資料、資料傳遞資訊與裝置狀態。通道埠410會接收來自主系統470的中斷指令INTR1,並經由可使用的通道來提供中斷指令INTR1至輸入輸出處理器420。回應中斷指令INTR1,輸入輸出處理器420會經由可使用的通道而得到對應於中斷指令INTR1的指令,然後輸入輸出處理器420會根據該指令來執行 程序,以便管理與控制所對應之裝置430、音頻引擎450或電源管理單元440。此外,當裝置430、音頻引擎450或是電源管理單元440需要與主系統470進行通訊時,輸入輸出處理器420會經由通道埠410中可使用的通道來提供中斷指令INTR2至主系統470。回應中斷指令INTR2,主系統470的主要處理器會經由可使用的通道而得到對應於中斷指令INTR2的指令,然後主要處理器會根據該指令來執行程序,並與裝置430、音頻引擎450或電源管理單元440進行通訊。在第4圖中,輸入輸出處理器420更根據來自主系統470之中斷指令INTR1而控制電源管理單元440,以便控制時脈管理器442、內部裝置電源閘單元444以及電源管理積體電路460。例如,當通用序列匯流排裝置430連接於可攜式裝置時,主系統470會經由通道埠410而發出中斷指令INTR1至輸入輸出處理器420,用以經由通用序列匯流排裝置驅動器(未顯示)來對通用序列匯流排裝置430進行配置。同時地,電源管理單元440會控制時脈管理器442來提供相關的時脈至通用序列匯流排裝置430,並控制內部裝置電源閘單元444以及電源管理積體電路460來提供操作電源以便對通用序列匯流排裝置430進行供電。於是,在通用序列匯流排裝置430被配置與供電之後,通用序列匯流排裝置430以及主系統470能通過通道埠410來彼此傳送資料DAT。在此實施例中,子系統400可包括第2B圖中匯流排三BUS3與匯流排四BUS4以及耦接於輸入輸出處理器420以及裝置430之間的元件280、282、284、290與292,以及裝置430可以是第2B圖中的裝置DEV1、DEV2或是DEV3。
第5圖係顯示根據本發明一實施例所述之可攜式裝置中主系統與子系統之間的通道之方塊圖。通道埠510包括複數通道510_A-510_N。虛擬矩陣520係用來彈性地指派通道510_A-510_N中至少一個可使用的通道來在可攜式裝置的主系統以及裝置530-570之至少一裝置之間傳送指令與資料,其中虛擬矩陣520可實施於第2A圖可攜式裝置中主系統的主要處理器或是第2B圖、第3圖或第4圖可攜式裝置中子系統之輸入輸出處理器。例如,假設通道510_A與510_B分別由嵌入式多媒體卡(Embedded Multimedia Card,EMMC)裝置530(例如快閃記憶體)以及通用序列匯流排2.0裝置560所佔用,而其他通道510_C-510_N為可使用,當主系統的主要處理器需要使用音頻引擎570來播放音頻檔案(例如mp3檔)時,虛擬矩陣520將指派可被主要處理器以及音頻引擎570所使用之通道510_C-510_N之一者,使得主要處理器能經由所指派的通道來與音頻引擎570進行通訊,並控制音頻引擎570來播放音頻檔案。在音頻引擎570與主要處理器的通訊結束之後,即所指派的通道不被音頻引擎570與主要處理器所使用,虛擬矩陣520會釋放掉所指派的通道,使得所指派的通道又會變成可使用之通道。在一實施例中,每一通道係由一暫存器或是一雙埠隨機存取記憶體所實施。此外,每一通道係用來在主要處理器以及所對應之裝置之間傳送指令與不同資料,包括但並不用以限定音頻資料、所對應之裝置的狀態以及資料傳遞資訊。
第6圖係顯示根據本發明一實施例所述之可攜式裝置的控制方法。可攜式裝置包括主系統以及子系統,其中主 系統包括主要處理器(例如第2A圖之中央處理單元240),而子系統包括輸入輸出處理器(例如第2B圖、第3圖與第4圖之輸入輸出處理器272、312、420)以及通道埠(例如第2B圖、第3圖與第4圖之通道埠270、310、410)。此外,輸入/輸出元件可以是描述於第2B、3、4、5圖中子系統內的任一裝置。首先,在步驟S602,在子系統之通道埠中可使用的通道會被主要處理器所指派與佔用。接著,在步驟S604,主要處理器會在所佔用的通道中設定指令CMD,並在所佔用的通道中設定資料傳遞資訊(步驟S606)。接著,在步驟S608,主要處理器會經由通道埠來發出中斷指令CMD_Int至輸入輸出處理器。接著,在步驟S610,回應中斷指令CMD_Int,輸入輸出處理器會經由所佔用之通道來得到並執行指令CMD,以便根據在所佔用之通道中的指令CMD以及資料傳遞資訊而控制輸入/輸出元件來執行程序。在程序完成之後,輸入輸出處理器會發出中斷指令H_Int至主要處理器。接著,在步驟S612,主要處理器會接收到來自輸入輸出處理器的中斷指令H_Int。接著,在步驟S614,主要處理器會檢查所佔用之通道是否在正常狀態。假如佔用之通道是在正常狀態下,則釋放掉所佔用之通道(步驟S618)。若所佔用之通道不是在正常狀態下,則執行一管理程序(步驟S616),例如重試或是錯誤回復,然後所佔用之通道會被釋放(步驟S618)。在此實施例中,所佔用之通道可以被主要處理器或是輸入輸出處理器所釋放。在另一實施例中,所佔用之通道可以直接被釋放,而不需執行步驟S614與S616。
第7圖係顯示根據本發明一實施例所述之第6圖之 步驟S610的流程圖。首先,在步驟S702,回應中斷指令CMD_Int,輸入輸出處理器會經由所佔用之通道而得到指令CMD。接著,在步驟S704,輸入輸出處理器會根據指令CMD與資料傳遞資訊來執行程序。接著,在步驟S706,輸入輸出處理器會根據指令CMD而控制輸入/輸出元件來執行操作。再者,根據來自所佔用之通道的資料傳遞資訊,輸入輸出處理器會控制輸入/輸出元件來執行資料傳遞。接著,在步驟S708,輸入輸出處理器會判斷對應於指令CMD之程序是否已完成。若沒有,則回到步驟S704,而對應於指令CMD之程序仍會繼續執行。如果程序、操作以及資料傳遞已完成,則輸入輸出處理器會發出中斷指令H_Int至主要處理器(步驟S710)。
同時參考第2A、2B與5-7圖,以主要處理器(例如第2A圖之中央處理單元240)需要讀取儲存在可攜式裝置之嵌入式多媒體卡裝置530(例如快閃記憶體)之檔案來作為例子,主要處理器首先會佔用通道埠510之可使用通道510_D(第6圖之步驟S602)。接著,主要處理器會在通道510_D內設定指令CMD以及資料傳遞資訊(第6圖之步驟S604與步驟S606),其中指令CMD係表示對嵌入式多媒體卡裝置530進行存取的請求,而資料傳遞資訊指示欲從嵌入式多媒體裝置530傳送至主系統的記憶體(例如靜態隨機存取記憶體236或是雙倍資料率同步動態隨機存取記憶體252-254)之檔案。接著,主要處理器會發出中斷指令CMD_Int至輸入輸出處理器(第6圖之步驟S608)。接著,輸入輸出處理器會得到指令CMD(第7圖之步驟S702),且輸入輸出處理器會指示嵌入式多媒體卡裝置530來傳 送檔案至可攜式裝置的記憶體(第7圖之步驟S704以及步驟S706)。當檔案完整地傳送至主系統的記憶體時(第7圖之步驟S708),輸入輸出處理器會發出中斷指令H_Int至主要處理器(第7圖之步驟S710)。在接收到中斷指令H_Int之後(第6圖之步驟S612),主要處理器會檢查所佔用之通道510_D是否在正常狀態(第6圖之步驟S614)。若佔用之通道510_D是在正常狀態下,則通道510_D會被釋放(第6圖之步驟S618),然後結束流程。
同時參考第2A、2B與5-7圖,以基頻晶片(例如第2A圖之基頻晶片242)需要在通話期間使用音頻引擎570來執行音頻資料的信號程序來作為例子,主要處理器首先會佔用通道埠510中可使用之通道510_A(第6圖之步驟S602)。接著,主要處理器會設定通道510_A內的指令CMD以及資料傳遞資訊(第6圖之步驟S604以及步驟S606),其中指令CMD係表示使用音頻引擎570之請求,而資料傳遞資訊係指示音頻資料欲在音頻引擎570以及基頻晶片之間傳送。接著,主要處理器會發出中斷指令CMD_Int至輸入輸出處理器(第6圖之步驟S608)。接著,輸入輸出處理器會得到指令CMD(第7圖之步驟S702),而輸入輸出處理器會指示音頻引擎570來執行音頻資料的信號程序(第7圖之步驟S704與步驟S706)。當音頻引擎570完成信號程序之後(第7圖之步驟S708),輸入輸出處理器會發出中斷指令H_Int至主要處理器(第7圖之步驟S710)。在接收到中斷指令H_Int之後(第6圖之步驟S612),主要處理器會檢查所佔用之通道510_A是否在正常狀態(第6圖之步驟S614)。假如所佔用 之通道510_A係在正常狀態,則通道510_A會被釋放(第6圖之步驟S618),而結束流程。於是,基頻晶片能直接使用音頻引擎570而不需通過主要處理器,使得主要處理器能進入閒置模式或是睡眠模式以省電。
第8圖係顯示根據本發明另一實施例所述之可攜式裝置的控制方法。可攜式裝置包括主系統以及子系統,其中主系統包括主要處理器(例如第2A圖之中央處理單元240)而子系統包括輸入輸出處理器(例如第2B、3與4圖之輸入輸出處理器272、312、420)以及通道埠(例如第2B、3與4圖之通道埠270、310與410)。此外,輸入/輸出元件可以是描述在第2B、3、4或5圖中子系統內的任一裝置。首先,在步驟S802,輸入輸出處理器會佔用子系統中通道埠內的可使用之通道。接著,在步驟S804,輸入輸出處理器會設定所佔用之通道內的指令CMD以及輸入/輸出元件的狀態,並更設定所佔用之通道內的資料傳遞資訊(步驟S806)。接著,在步驟S808,輸入輸出處理器會經由所佔用之通道來發出中斷指令H_Int至主要處理器。接著,在步驟S810中,回應中斷指令H_Int,主要處理器會得到並執行指令CMD,以便根據指令CMD以及資料傳遞資訊來對輸入/輸出元件執行程序。在程序完成之後,主要處理器會發出中斷指令Host_Int至輸入輸出處理器。接著,在步驟S812,輸入輸出處理器會接收到來自主要處理器之中斷指令Host_Int。接著,在步驟S814,會檢查所佔用之通道是否在正常狀態。假如所佔用之通道是在正常狀態下,則釋放掉所佔用之通道(步驟S818)。假如所佔用之通道不是在正常狀態下, 則執行管理程序(步驟S816),例如重試或是錯誤回復,然後釋放掉所佔用之通道(步驟S818)。在此實施例中,所佔用之通道可以由主要處理器或是輸入輸出處理器所釋放。在另一實施例中,可直接釋放所佔用之通道而不需執行步驟S814與S816。
第9圖係顯示根據本發明一實施例所述之第8圖中步驟S810的流程圖。首先,在步驟S902,回應中斷指令H_Int,主要處理器會經由所佔用之通道而得到指令CMD。接著,在步驟S904,主要處理器會根據程序指令CMD與資料傳遞資訊來對輸入/輸出元件執行程序。接著,在步驟S906,主要處理器會對所佔用之通道中之程序的狀態進行設定。接著,在步驟S908,主要處理器會完成程序,並發出中斷指令Host_Int至輸入輸出處理器(步驟S910)。
同時參考第2A、2B、5與8-9圖,以通用序列匯流排3.0裝置566連接於可攜式裝置來作為例子,輸入輸出處理器首先會佔用通道埠510中可使用之通道510_B(第8圖之步驟S802)。接著,輸入輸出處理器會在通道510_B中設定指令CMD、通用序列匯流排3.0裝置566的狀態以及資料傳遞資訊(第8圖之步驟S804與步驟S806),其中指令CMD係表示對通用序列匯流排3.0裝置566進行配置的請求,而資料傳遞資訊係指示欲從通用序列匯流排3.0裝置566傳送至可攜式裝置之主要處理器的識別資訊。接著,輸入輸出處理器會發出中斷指令H_Int至主要處理器(第8圖之步驟S808)。接著,主要處理器會得到指令CMD(第9圖之步驟S902),以及主要處理器會開始 對通用序列匯流排3.0裝置566進行配置(第9圖之步驟S904與步驟S906)。當通用序列匯流排3.0裝置566被配置時(第9圖之步驟S908),主程序會發出中斷指令Host_Int至輸入輸出處理器(第9圖之步驟S910)。在接收到中斷指令Host_Int之後(第8圖之步驟S812),輸入輸出處理器會檢查所佔用之通道510_B是否在正常狀態(第8圖之步驟S814)。假如所佔用之通道510_B是在正常狀態下,則釋放所佔用之通道510_B(第8圖之步驟S818),然後結束流程。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中包括通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種可攜式裝置,包括:一主要處理器;一輸入輸出處理器;一通道埠,耦接於該主要處理器以及該輸入輸出處理器之間,具有複數通道;以及至少一輸入/輸出元件,耦接於該輸入輸出處理器,其中該主要處理器以及該輸入輸出處理器佔用該通道之一者,用以在該主要處理器以及該輸入輸出處理器之間傳送一第一中斷指令以及一第一指令,並在根據該第一指令執行一程序之後,釋放掉所佔用之該通道,其中每一該等通道包括一暫存器或是一雙埠隨機存取記憶體,其中當該通道之該者被佔用時,該主要處理器以及該輸入/輸出元件係經由所佔用之該通道來傳送資料而不會經過該輸入輸出處理器。
  2. 如申請專利範圍第1項所述之可攜式裝置,其中該通道埠係經由一第一匯流排而耦接於該主要處理器,並經由一第二匯流排而耦接於該輸入輸出處理器。
  3. 如申請專利範圍第1項所述之可攜式裝置,其中該主要處理器係用以執行內嵌於非揮發性記憶體之一主要作業系統,而該輸入輸出處理器係用以執行一即時作業系統。
  4. 如申請專利範圍第1項所述之可攜式裝置,其中所佔用之該通道更用來在該主要處理器以及該輸入/輸出元件之間傳送 資料。
  5. 如申請專利範圍第1項所述之可攜式裝置,其中該主要處理器以及該輸入輸出處理器係用以在一程序被執行且完成之後,釋放掉所佔用之該通道。
  6. 如申請專利範圍第1項所述之可攜式裝置,其中該主要處理器發出該第一中斷指令至該輸入輸出處理器,以及回應該第一中斷指令,該輸入輸出處理器經由所佔用之該通道得到來自該主要處理器之該第一指令,並根據該第一指令而控制該輸入/輸出元件來執行該程序。
  7. 如申請專利範圍第6項所述之可攜式裝置,其中在完成該程序之後,該輸入輸出處理器發出一第二中斷指令至該主要處理器,以及回應該第二中斷指令,該主要處理器或是該輸入輸出處理器會釋放掉所佔用之該通道。
  8. 如申請專利範圍第1項所述之可攜式裝置,其中該輸入輸出處理器發出該第一中斷指令至該主要處理器,以及回應該第一中斷指令,該主要處理器經由所佔用之該通道而得到來自該輸入輸出處理器之該第一指令,並根據該第一指令而對該輸入/輸出元件來執行該程序。
  9. 如申請專利範圍第8項所述之可攜式裝置,其中在完成該程序之後,該主要處理器發出一第二中斷指令至該輸入輸出處理器,以及回應該第二中斷指令,該主要處理器或是該輸入輸出處理器會釋放掉所佔用之該通道。
  10. 如申請專利範圍第1項所述之可攜式裝置,其中該輸入/輸出元件係一音頻引擎、一通用串列匯流排裝置、一記憶體裝 置、一安全數位輸入輸出裝置或是一通用輸入輸出裝置。
  11. 如申請專利範圍第1項所述之可攜式裝置,更包括:一電源管理單元,耦接於該輸入輸出處理器,用以根據由該主要處理器經由所占用之通道所發出之一第二指令,來供電給該主要處理器或是該輸入/輸出元件。
  12. 一種適用於一可攜式裝置之控制方法,其中該可攜式裝置包括一主要處理器、一輸入輸出處理器、耦接於該輸入輸出處理器之一輸入/輸出元件,以及耦接於該主要處理器以及該輸入輸出處理器之間且具有複數通道之一通道埠,該控制方法包括:佔用該通道之一者,以便在該主要處理器以及該輸入輸出處理之間傳送一第一中斷指令以及一第一指令;根據該第一指令執行一程序;經由所佔用之該通道,在該主要處理器以及該輸入/輸出元件之間傳送資料而不會經過該輸入輸出處理器;以及在根據該第一指令執行該程序之後,釋放掉所佔用之該通道,其中每一該等通道包括一暫存器或是一雙埠隨機存取記憶體。
  13. 如申請專利範圍第12項所述之控制方法,其中該在根據該第一指令執行該程序之後,釋放掉所佔用之該通道之步驟更包括:根據該第一指令執行且完成該程序之後,釋放掉所佔用之該通道。
  14. 如申請專利範圍第12項所述之控制方法,更包括:藉由該主要處理器,發出該第一中斷指令至該輸入輸出處理器;回應該第一中斷指令,藉由該輸入輸出處理器經由所佔用之該通道得到來自該主要處理器之該第一指令;以及根據該第一指令,藉由該輸入輸出處理器來控制該輸入/輸出元件,以執行該程序。
  15. 如申請專利範圍第14項所述之控制方法,更包括:在完成該程序之後,藉由該輸入輸出處理器來發出一第二中斷指令至該主要處理器,其中該在根據該第一指令執行該程序之後,釋放掉所佔用之該通道之步驟更包括:在執行該程序之後,回應該第二中斷指令,釋放掉所佔用之該通道。
  16. 如申請專利範圍第12項所述之控制方法,更包括:藉由該輸入輸出處理器,發出該第一中斷指令至該主要處理器;回應該第一中斷指令,藉由該主要處理器經由所佔用之該通道而得到來自該輸入輸出處理器之該第一指令;以及根據該第一指令,藉由該主要處理器來對該輸入/輸出元件執行該程序。
  17. 如申請專利範圍第16項所述之控制方法,更包括:在完成該程序之後,藉由該主要處理器來發出一第二中斷指令至該輸入輸出處理器, 其中該在根據該第一指令執行該程序之後,釋放掉所佔用之該通道之步驟更包括:在執行該程序之後,回應該第二中斷指令,釋放掉所佔用之該通道。
  18. 如申請專利範圍第12項所述之控制方法,更包括:檢查所佔用之該通道是否在一正常狀態;以及若檢查出所佔用之該通道是在該正常狀態時,執行釋放掉所佔用之該通道的步驟。
  19. 如申請專利範圍第12項所述之控制方法,更包括:經由所佔用之該通道,在該主要處理器以及該輸入/輸出元件之間傳送資料。
  20. 如申請專利範圍第12項所述之控制方法,更包括:根據該主要處理器經由所佔用之該通道所發出之一第二指令,對該主要處理器或是該輸入/輸出元件進行供電。
TW104130399A 2014-09-17 2015-09-15 可攜式裝置及其控制方法 TWI629595B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/488,951 US9785593B2 (en) 2014-09-17 2014-09-17 Portable device with data transmission between main system and subsystem and control method therefor
US14/488,951 2014-09-17

Publications (2)

Publication Number Publication Date
TW201612760A TW201612760A (en) 2016-04-01
TWI629595B true TWI629595B (zh) 2018-07-11

Family

ID=54140223

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104130399A TWI629595B (zh) 2014-09-17 2015-09-15 可攜式裝置及其控制方法

Country Status (4)

Country Link
US (1) US9785593B2 (zh)
EP (1) EP2998871B1 (zh)
CN (1) CN105425903A (zh)
TW (1) TWI629595B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180118329A (ko) * 2017-04-21 2018-10-31 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804737B2 (en) * 2000-12-26 2004-10-12 Lsi Logic Corporation Methods and systems for intelligent I/O controller with channel expandability via master/slave configuration
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687388A (en) 1992-12-08 1997-11-11 Compaq Computer Corporation Scalable tree structured high speed input/output subsystem architecture
CN1206136A (zh) * 1998-07-28 1999-01-27 北京比特瑞旺电脑有限公司 自带处理器的智能输入输出设备
JP2000196624A (ja) * 1998-12-28 2000-07-14 Pioneer Electronic Corp 伝送管理装置、情報処理装置及び情報伝送システム
US7124228B2 (en) * 2001-07-10 2006-10-17 Sun Microsystems, Inc. Bus communication architecture, in particular for multicomputing systems
EP2075696A3 (en) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Interrupt- related circuits, systems and processes
CN102193683B (zh) * 2010-03-12 2014-09-03 北京汇冠新技术股份有限公司 用于带摄像头触摸屏的控制板和串口通信仲裁器
CN102567264B (zh) * 2010-12-07 2015-05-06 启碁科技股份有限公司 通用串行总线集线器及其电源管理方法
US9594711B2 (en) * 2010-12-24 2017-03-14 Lenovo (Singapore) Pte. Ltd. Systems and methods for achieving continuation of experience between components in a hybrid environment
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8819685B2 (en) * 2013-01-24 2014-08-26 Huawei Technologies Co., Ltd. Method and apparatus for adjusting I/O channel on virtual platform
US10311003B2 (en) * 2014-03-26 2019-06-04 Lenovo (Singapore) Pte. Ltd. Detection and identifcation of supported connection protocols in a multi-purpose storage bay

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804737B2 (en) * 2000-12-26 2004-10-12 Lsi Logic Corporation Methods and systems for intelligent I/O controller with channel expandability via master/slave configuration
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors

Also Published As

Publication number Publication date
TW201612760A (en) 2016-04-01
US20160077993A1 (en) 2016-03-17
EP2998871A1 (en) 2016-03-23
CN105425903A (zh) 2016-03-23
EP2998871B1 (en) 2017-08-16
US9785593B2 (en) 2017-10-10

Similar Documents

Publication Publication Date Title
KR101472644B1 (ko) 멀티프로세서 완전 상호접속 방법 및 시스템
US8990459B2 (en) Peripheral device sharing in multi host computing systems
JP6181844B2 (ja) デュアルホスト組込み共有デバイスコントローラ
US6260081B1 (en) Direct memory access engine for supporting multiple virtual direct memory access channels
CN103412619A (zh) 一种异构多核的红外图像处理系统及方法
US11494221B2 (en) Hardware control core controlling operation of hardware devices by executing device drivers within the hardware control core used by virtual machine cores via shared memory having an uplink and downlink memory
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
US20190266009A1 (en) Cpu overcommit with guest idle polling
CN108153686B (zh) 多接口cpu模块
US10140214B2 (en) Hypervisor translation bypass by host IOMMU with virtual machine migration support
CN110716756B (zh) 多晶粒的多核计算机平台及其开机方法
US20180136868A1 (en) Translation bypass by host iommu for systems with virtual iommu
CN110727466B (zh) 多晶粒的多核计算机平台及其开机方法
WO2023108553A1 (en) Message conversion and message passthrough between devices and a processor in a multi-panel computing device
CN211123833U (zh) 一种计算机模块、主板和计算机设备
TWI629595B (zh) 可攜式裝置及其控制方法
TW202020634A (zh) 多主機控制器及包括所述多主機控制器的半導體裝置
CN104583995A (zh) 跨处理系统的桥接和集成装置
TW200405171A (en) Apparatus and method for monitoring computer system resources
DE112016002462T5 (de) Handhabung einer Partitionsrücksetzung in einem Mehrwurzelsystem
CN205486087U (zh) 一种基于pci9052的pci总线接口卡
US20160314086A1 (en) Secure digital host controller virtualization
US20140215200A1 (en) Data processing device with serial bus that needs initialization before use
US10803008B2 (en) Flexible coupling of processor modules
CN115576439A (zh) 一种cpu控制器的扩展方法及装置