TW201928662A - 處理器、其任務處理方法及架構 - Google Patents

處理器、其任務處理方法及架構 Download PDF

Info

Publication number
TW201928662A
TW201928662A TW107144473A TW107144473A TW201928662A TW 201928662 A TW201928662 A TW 201928662A TW 107144473 A TW107144473 A TW 107144473A TW 107144473 A TW107144473 A TW 107144473A TW 201928662 A TW201928662 A TW 201928662A
Authority
TW
Taiwan
Prior art keywords
task
cores
instructions
core
control circuit
Prior art date
Application number
TW107144473A
Other languages
English (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 TW201928662A publication Critical patent/TW201928662A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一種處理器包括:多個核心,被配置成獨立地執行操作;記憶體;以及控制電路,電連接到所述多個核心及記憶體。控制電路被配置成:獲取與任務相關聯的一個或多個指令;基於所述一個或多個指令儲存與所述任務對應的資料;將所述指令傳送到所述至少一些核心;檢查所述至少一些核心之中已對所述指令作出回應的一個或多個核心;如果所述任務被分配給一個核心,則阻止將所述任務分配給除所述一個核心之外的核心;以及將所述任務分配給所述核心中的一個核心,所述任務的分配包括:改變與分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的資料。

Description

處理器、其任務處理方法及架構
本公開涉及一種能夠在多個數位訊號處理器(digital signal processors,在下文中也稱為DSP)中快速處理任務的任務遞送方法和/或一種包括在其中實施任務遞送方法的多個DSP的電子裝置。
隨著電子技術的發展,正在廣泛地使用具有各種功能的電子裝置,例如智慧型電話、平板個人電腦(personal computer,PC)等。
最近的電子裝置往往具有主處理器(main processor),所述主處理器包括多個DSP。多個DSP可用作主處理器來執行訊號處理功能,例如從來源於其他內部裝置的訊號提取資訊的功能、改變資訊的詳情或特性的功能、用於使語音訊號數位化的語音編碼功能、數位濾波器功能或處理聲音或視頻的功能。
根據傳統的DSP技術,主DSP核心(master DSP core)可根據命令分組或資料消息分組到達佇列的次序來確定執行命令且可監視從DSP(slave DSP)的運行狀態並基於監視結果來執行排程以確定要接收執行命令的從DSP。
然而,根據在上述傳統的DSP之間進行的任務遞送方法,主DSP核心收集所有任務資訊且接著執行排程及任務遞送。因此,當任務數目增大時,主DSP核心的負擔加重。因此,DSP的任務處理速度可能降低。
本發明的各種示例性實施例可提供一種能夠在多個DSP中快速處理任務的任務遞送方法,且還提供一種包括在其中實施上述方法的多個DSP的電子裝置。
根據本發明概念的一方面,提供一種處理器,所述處理器包括:多個核心,被配置成獨立地執行操作;記憶體;以及控制電路,電連接到所述多個核心及所述記憶體。所述控制電路被配置成:獲取與要使用所述多個核心中的至少一些核心進行處理的任務相關聯的一個或多個指令;基於所述一個或多個指令將與所述任務對應的資料儲存在所述記憶體中;將所述一個或多個指令中的至少一些指令遞送到所述多個核心中的所述至少一些核心;檢查所述至少一些核心之中已對所述一個或多個指令中的所述至少一些指令作出回應的所述多個核心中的一個或多個;如果所述任務被分配給所述多個核心中的所述一些核心之中的一個核心,則阻止將所述任務分配給除所述一個核心之外的所述多個核心中的所述一些核心;以及如果所述任務未被分配給所述核心,則將所述任務分配給一個核心,所述任務的所述分配包括:改變與所述分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的所述資料。
根據本發明概念的另一方面,提供一種處理器的任務處理方法,所述處理器包括能夠獨立地執行操作的多個核心、記憶體及電連接到所述多個核心及所述記憶體的控制電路,所述任務處理方法包括:獲取與要使用所述多個核心中的至少一些核心進行處理的任務相關聯的一個或多個指令;基於所述一個或多個指令將與所述任務對應的資料儲存在所述記憶體中;將所述一個或多個指令中的至少一些指令傳送到所述多個核心中的所述至少一些核心;檢查所述至少一些核心之中已對所述一個或多個指令中的所述至少一些指令作出回應的一個或多個核心;如果所述任務被分配給一個核心,則阻止將所述任務分配給除所述一個核心之外的所述多個核心;以及將所述任務分配給所述一個核心,所述任務的所述分配包括:改變與所述分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的所述資料。
根據本發明概念的再一個方面,提供一種架構,所述架構包括:多個核心,包括多個不同的數位訊號處理器或至少一個硬體加速器;以及控制電路,電連接到所述多個核心,其中所述控制電路被配置成:從所述多個核心中的至少一些核心接收任務處理請求;將與所述任務相關聯的指令及資訊儲存在內部記憶體中;將與所述任務相關聯的所述指令中的至少一些指令以事件形式傳送到所述多個核心;以及將所述任務分配給所述多個核心之中第一個對所述至少一些指令作出回應的一個核心。
應注意,本發明的目標並非僅限於上述目標,且通過閱讀以下說明,本發明的其他目標對於所屬領域中的技術人員來說將顯而易見。
圖1是根據各種示例性實施例的網路環境100中的電子裝置101的方塊圖。參照圖1,在網路環境100中,電子裝置101可通過第一網路198(例如,短距離無線通訊)來與電子裝置102進行通訊,或者可通過第二網路199(例如,長距離無線通訊)來與電子裝置104或伺服器108進行通訊。根據示例性實施例,電子裝置101可通過伺服器108來與電子裝置104進行通訊。根據示例性實施例,電子裝置101可包括處理器120、記憶體130、輸入裝置150、聲音輸出裝置155、顯示裝置160、音訊模組170、感測器模組176、介面177、觸感模組(haptic module)179、相機模組180、電源管理模組188、電池189、通訊模組190、使用者識別模組(subscriber identity module)196及天線模組197。在一些示例性實施例中,可從電子裝置101排除所述元件中的至少一者(例如,顯示裝置160或相機模組180),或者電子裝置101中可另外包括另一個元件。在一些示例性實施例中,一些元件可與其他元件集成在一起。舉例來說,感測器模組176(例如,指紋感測器(fingerprint sensor)、虹膜感測器(iris sensor)或亮度感測器(illumination sensor))嵌入在顯示裝置160(例如,顯示器)中。
舉例來說,通過執行軟體(例如,程式140),處理器120可控制與處理器120連接的電子裝置101的至少另一個元件(例如,硬體元件或軟體元件),且可對各種資料進行處理並對各種資料執行操作。處理器120可將從另一個元件(例如,感測器模組176或通訊模組190)接收的指令或資料載入到揮發性記憶體132中,處理所載入的指令或資料,並將所得資料儲存在非揮發性記憶體134中。根據示例性實施例,處理器120可包括主處理器121(例如,中央處理器(central processing unit)或應用處理器(application processor))以及獨立於主處理器121運行的輔助處理器123(例如,圖形處理單元(graphics processing unit)、圖像訊號處理器(image signal processor)、感測器集線器處理器(sensor hub processor)或通訊處理器(communications processor)),且輔助處理器123另外地或作為另外一種選擇被配置成使用比主處理器121低的功率,或者專用於特定功能。此處,輔助處理器123可與主處理器分開運行或者同時嵌置在主處理器121中。
在這種情形中,當主處理器121處於非現用(inactive)(例如,睡眠)狀態時,輔助處理器123可代表主處理器121來控制與電子裝置101的元件中的至少一個元件(例如,顯示裝置160、感測器模組176或通訊模組190)相關聯的功能或狀態中的至少一些功能或狀態;或者當主處理器121處於現用(例如,正在執行應用)狀態時,輔助處理器123可與主處理器121一起控制上述功能或狀態中的至少一些功能或狀態。根據示例性實施例,輔助處理器123(例如,圖像訊號處理器或通訊處理器)可被實施為在功能上與輔助處理器123相關聯的另一個元件(例如,相機模組180或通訊模組190)的一部分。記憶體130可儲存由電子裝置101的至少一個元件(例如,處理器120或感測器模組176)使用的各種資料,例如軟體(例如,程式140)以及用於相關聯的命令的輸入資料或輸出資料。記憶體130可包括揮發性記憶體132或非揮發性記憶體134。
程式140是儲存在記憶體130中的軟體且可包括例如作業系統(operating system)142、中介軟體(middleware)144或應用146。
輸入裝置150是從電子裝置101的外部(例如,使用者)接收將由電子裝置101的元件(例如,處理器120)使用的命令或資料的裝置且可包括例如麥克風、滑鼠或鍵盤。
聲音輸出裝置155是用於將聲音訊號輸出到電子裝置101的外部的裝置且可包括例如用於一般用途(例如,多媒體重播或錄音重播)的揚聲器以及僅用於呼叫接收的接收器。根據示例性實施例,接收器可與揚聲器成一體地形成或者與揚聲器分開形成。
顯示裝置160是用於以視覺方式向電子裝置101的使用者提供資訊的裝置且可包括例如顯示器、全息圖裝置(hologram device)或投影儀以及用於控制對應裝置的控制電路。根據示例性實施例,顯示裝置160可包括能夠測量觸摸壓力強度的觸摸電路或壓力感測器。
音訊模組170可在聲音訊號與電訊號之間執行雙向轉換。根據示例性實施例,音訊模組170可通過輸入裝置150獲取聲音,或者通過聲音輸出裝置155或以有線方式或無線方式連接到電子裝置101的外部電子裝置(例如,電子裝置102(例如揚聲器或頭戴耳機))來輸出聲音。
感測器模組176可產生與電子裝置101的外部環境狀態或內部運行狀態(例如,功率或溫度)對應的電訊號或資料值。感測器模組176可包括例如手勢感測器(gesture sensor)、陀螺儀感測器(gyro sensor)、氣壓感測器(air pressure sensor)、磁性感測器(magnetic sensor)、加速度感測器(acceleration sensor)、握持感測器(grip sensor)、接近感測器(proximity sensor)、顏色感測器(color sensor)、紅外(infrared,IR)感測器、生物特徵感測器(biosensor)、溫度感測器(temperature sensor)、濕度感測器(humidity sensor)或亮度感測器。
介面177可支援用於以有線方式或無線方式連接到外部電子裝置(例如,電子裝置102)的規定協定。根據示例性實施例,介面177可包括高清晰度多媒體介面(high definition multimedia interface,HDMI)、通用序列匯流排(universal serial bus,USB)介面、安全數位(Secure Digital,SD)卡介面或音訊介面。
連接端子178可包括連接件(例如,HDMI連接件、USB連接件、SD卡連接件或音訊連接件(例如,頭戴耳機連接件)),所述連接件可在實體上連接電子裝置101與外部電子裝置(例如,電子裝置102)。
觸感模組179可將電訊號轉換成機械刺激(例如,震動或移動)或者用戶可通過觸覺(tactile sense)或動覺(kinesthetic sense)感知的電刺激。觸感模組179可包括例如馬達(motor)、壓電式元件(piezoelectric element)或電刺激裝置(electrical stimulation device)。
相機模組180可拍攝靜止圖像及視頻。根據示例性實施例,相機模組180可包括一個或多個鏡頭、圖像感測器、圖像訊號處理器或閃光燈。
電源管理模組188是用於管理向電子裝置101供應的電力的模組且可例如被配置成電源管理積體電路(power management integrated circuit,PMIC)的至少一部分。
電池189是用於向電子裝置101的至少一個元件供電的裝置,且可包括例如不可再充電的一次電池(primary battery)、可再充電的二次電池(secondary battery)或燃料電池(fuel cell)。
通訊模組190可在電子裝置101與外部電子裝置(例如,電子裝置102、電子裝置104或伺服器108)之間建立有線的或無線的通訊通道並通過所建立的通訊通道支援通訊。通訊模組190可包括獨立於處理器120(例如,應用處理器)運行並支援有線通訊或無線通訊的一個或多個通訊處理器。根據示例性實施例,通訊模組190可包括無線通訊模組192(例如,蜂窩通訊模組、短距離無線通訊模組或全球導航衛星系統(global navigation satellite system,GNSS)通訊模組)或有線通訊模組194(例如,局域網(local area network,LAN)通訊模組或電力線通訊模組(power line communication module))。在以上通訊模組中,可使用對應的通訊模組來通過第一網路198(例如,短距離通訊網路,例如藍牙、無線保真(WiFi)直接或紅外資料協會(Infrared Data Association,IrDA))或第二網路199(例如,長距離通訊網路,例如蜂窩網路、網際網路或電腦網路(例如,局域網(LAN)或廣域網路(wide area network,WAN)))與外部電子裝置進行通訊。上述各種類型的通訊模組190可被實施為單個晶片或多個分開的獨立晶片。
根據示例性實施例,無線通訊模組192可使用儲存在使用者識別模組196中的使用者資訊來識別及認證通訊網路中的電子裝置101。
天線模組197可包括一個或多個天線,其用於在外部傳送或接收訊號或電力。根據示例性實施例,通訊模組190(例如,無線通訊模組192)可通過適用於通訊方案的天線將訊號傳送到外部電子裝置或從外部電子裝置接收訊號。
所述元件中的一些元件可通過週邊之間的通訊方案(例如,匯流排、通用輸入/輸出(general purpose input/output,GPIO)、串列週邊介面(serial peripheral interface,SPI)或移動產業處理器介面(mobile industry processor interface,MIPI))連接到彼此以在彼此之間交換訊號(例如,命令或資料)。
根據示例性實施例,可通過連接到第二網路199的伺服器108在電子裝置101與外部電子裝置104之間傳送或接收命令或資料。電子裝置102及電子裝置104中的每一者可為與電子裝置101相同類型或不同類型的裝置。根據示例性實施例,由電子裝置101執行的一些或所有動作可由另一個外部電子裝置或多個外部電子裝置執行。根據示例性實施例,當電子裝置101應自動地或根據請求執行某一功能或服務時,替代自主地運行所述功能或服務或者除了自主地運行所述功能或服務之外,電子裝置101還可從外部電子裝置請求至少部分地與所述某一功能或服務相關聯的功能。當接收到所述請求時,外部電子裝置可執行所請求的功能或另外的功能並將所述執行的結果遞送到電子裝置101。電子裝置101可按照原樣使用所接收的結果或者在對所接收的結果進行另外地處理之後提供所請求的功能或服務。為此,舉例來說,可使用雲端計算、分散式運算或客戶機-伺服器計算技術。
根據本發明各種示例性實施例的處理器可包括能夠獨立地執行操作的多個核心(例如,圖2所示230)、記憶體(例如,圖3所示350)及電連接到所述多個核心230及記憶體350的控制電路(例如,圖3所示300),其中控制電路300可被配置成:獲取與要使用所述多個核心230中的至少一些核心230進行處理的任務相關聯的一個或多個指令;基於所述一個或多個指令將與所述任務對應的資料儲存在記憶體350中;將所述一個或多個指令中的至少一些指令遞送到所述至少一些核心230;檢查所述至少一些核心230之中已對所述至少一些指令作出回應的一個或多個核心230;阻止將所述任務分配給除了已被分配所述任務的一個核心之外的核心;以及當所述任務未被分配給核心230時將所述任務分配給核心230中的一個核心230,所述任務的分配包括:改變與所述分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的資料。控制電路300可被配置成將所述任務分配給所述至少一些核心230之中第一個對所述至少一些指令作出回應的核心。控制電路300可包括佇列儲存裝置(例如,圖3所示314),所述佇列儲存裝置以先進先出(First-In-First-Out,FIFO)結構儲存及管理任務指令。控制電路300可包括中斷要求(interrupt request,IRQ)控制電路312,IRQ控制電路312基於事件來產生中斷並將所述任務遞送到已對所述至少一些指令作出回應的一個或多個核心。記憶體350可被作為靜態隨機存取記憶體(static random access memory,SRAM)提供並嵌置在控制電路300中。控制電路300可包括SRAM位址控制器(例如,圖3所示317),SRAM位址控制器被配置成自動地分配用於儲存與所述任務對應的資料的位址並回應於獲取與要處理的所述任務相關聯的所述一個或多個指令來將與所述任務對應的資料儲存在記憶體350的所分配的位址中。控制電路300可被配置成將所述任務優先分配給基於由用戶設定的優先權而指定的一個或多個核心。所述多個核心可被作為多個不同的DSP提供。
根據本發明各種示例性實施例的架構(例如,圖2所示200)可包括由多個不同的DSP或至少一個硬體加速器構成的多個核心(例如,圖2所示230)以及電連接到所述多個核心的控制電路(例如,圖3所示300),其中控制電路300被配置成:從所述多個核心中的至少一些核心接收任務處理請求;將與所述任務相關聯的指令及資訊儲存在內部記憶體350中;將與所述任務相關聯的指令中的至少一些指令以事件形式遞送到所述多個核心;以及將所述任務分配給所述多個核心之中第一個對所述至少一些指令作出回應的核心。當所述任務被分配給所述多個核心230中的一個核心230時,控制電路300可被配置成不將所述任務分配給其他核心230。控制電路300對任務的分配可包括改變與所述分配相關聯的狀態資訊並阻止其他核心存取與所述任務對應的資料。控制電路300可包括佇列儲存裝置(例如,圖3所示314),所述佇列儲存裝置以FIFO結構儲存及管理任務指令。
圖2是示出根據本發明各種示例性實施例的架構200的方塊圖。根據示例性實施例,圖2所示架構200可相同或相似於圖1所示處理器120。在一些示例性實施例中,圖2所示架構200可至少為包括在圖1所示處理器120中的元件。
參照圖2,架構200可包括用於獨立地執行操作的多個核心230、記憶體250以及電連接到所述多個核心230及記憶體250的控制電路210。根據示例性實施例,架構200還可包括將控制電路210連接到所述多個核心230的核心控制集線器220或者將所述多個核心230連接到記憶體250的匯流排240。
根據示例性實施例,所述多個核心230可被作為多個不同的DSP或至少一個硬體加速器提供。根據示例性實施例,所述多個核心230可被配置成處理從電子裝置(例如,圖1所示電子裝置101)中所包括的其他裝置(例如,圖1所示音訊模組170、感測器模組176、觸感模組179或相機模組180)提供的訊號或資訊。舉例來說,由所述多個核心230處理的任務可包括以下功能:從由電子裝置(例如,圖1所示電子裝置101)中所包括的其他裝置(例如,圖1所示音訊模組170、感測器模組176、觸感模組179或相機模組180)提供的訊號提取資訊的功能、改變資訊的詳情或特性的功能、用於使語音訊號數位化的語音編碼功能、數位濾波器功能或處理聲音或視頻的功能。
根據示例性實施例,所述多個核心230可獨立地執行操作來執行所述功能來。舉例來說,所述多個核心230可被作為多個不同的DSP或至少一個硬體加速器提供。在圖2中,所述多個核心230被示出為第一核心231、第二核心233、第三核心235及第四核心237,它們是獨立地執行操作的四個核心。然而,在本發明中對核心的數目不存在限制。
根據示例性實施例,記憶體250可被配置成儲存與任務對應的資料。根據示例性實施例,記憶體250可安裝在控制電路210中。根據示例性實施例,記憶體250可被作為SRAM提供。
根據示例性實施例,控制電路210可被配置成從所述多個核心230接收任務處理請求並使所接收的任務分佈到所述多個核心230。根據示例性實施例,控制電路210可為管理由所述多個核心230請求的任務的電路。
根據示例性實施例,控制電路210可將由特定核心請求的任務以中斷事件形式遞送到多個核心且可從所述多個核心中的至少一些核心接收對中斷事件的回應。根據示例性實施例,控制電路210可將所請求的任務分配給所述多個核心之中第一個作出回應的核心。舉例來說,控制電路210可回應於從第一核心231接收到任務處理請求來將與所述任務相關聯的中斷事件傳送到第一核心到第四核心231、233、235及237。當所述回應是從第一核心到第四核心231、233、235及237之中的第三核心235第一次接收到時,控制電路210可將所述任務分配給第三核心235。根據示例性實施例,控制電路210對所述任務的分配可包括:將與所述任務相關聯的指令或與所述任務對應的資料傳送到所述多個核心230之中第一次作出回應的核心。根據示例性實施例,被分配所述任務的所述核心(例如,第三核心235)可執行與所分配的任務相關聯的功能。
根據示例性實施例,控制電路210可基於使用者的設定來確定任務的優先權。舉例來說,與多個任務中的其他任務相比,可能必須優先處理所述多個任務之中所指定的任務。舉例來說,儘管控制電路210依序儲存了從所述多個核心230接收到的第一任務、第二任務及第三任務,然而控制電路210可能接收到要處理具有優先權的第四任務的請求。在這種情形中,控制電路210可對佇列次序進行調整以使得第四任務在第一任務到第三任務之前被處理。
根據示例性實施例,控制電路210可使特定任務與特定核心匹配。舉例來說,控制電路210可將指定核心設定成處理所述多個任務中的至少一些任務。
根據示例性實施例,控制電路210可考慮到各個任務之間的相依性來調整任務分配時間。舉例來說,在多個任務之間可存在相依性。舉例來說,第二任務可能必須在第一任務被處理之後被處理。在這種情形中,通過在處理第一任務之後指定等待任務,控制電路210可使得能夠在對第一任務的處理完成之後處理第二任務。
根據本發明各種示例性實施例的控制電路210與所述多個核心230共用與所述任務相關聯的佇列並管理所述佇列。在下文中,控制電路210被定義為共用命令佇列(SCQ)電路。
圖3是根據本發明各種示例性實施例的控制電路的方塊圖。
參照圖3,根據本發明各種示例性實施例的SCQ電路300(例如,圖2所示SCQ電路210)可包括主電路310、匯流排320(例如,圖2所示核心控制集線器220)或被作為SRAM提供的內部記憶體350,匯流排320被配置成將主電路310連接到多個核心(例如,圖2所示所述多個核心230)。
根據示例性實施例,主電路310可包括:特殊功能暫存器(special function register,SFR)設定電路311,連接到匯流排320以控制所述多個核心230;IRQ控制電路312,被配置成將IRQ傳送到所述多個核心230;SRAM位址控制器317;SRAM介面318;及佇列控制電路313。根據示例性實施例,佇列控制電路313可包括佇列儲存裝置314、佇列排程電路315及佇列記憶體有效性檢查器(queue memory validity checker)316。
根據示例性實施例,所述多個核心230可通過SCQ電路300彼此共用任務。根據示例性實施例,SCQ電路300儲存及管理從所述多個核心230接收到的任務。舉例來說,SCQ電路300可被配置成儲存及管理任務。根據示例性實施例,SCQ電路300可儲存任務指令及與任務相關聯的資料(任務資訊)。舉例來說,SCQ電路300可被配置成通過佇列儲存裝置314儲存多達32個任務。根據各種示例性實施例,佇列儲存裝置314儲存的任務的數目可大於32。
根據示例性實施例,一個任務可包括一個指令或者可包括多個指令。舉例來說,一個任務可包括一條任務資訊或者可包括10條任務資訊。
根據示例性實施例,佇列儲存裝置314可以FIFO結構儲存任務指令。
根據示例性實施例,SCQ電路300可包括具有多達8千位元組來儲存任務資訊的內部儲存器350。舉例來說,SCQ電路300可將從所述多個核心230中的至少一個核心230接收到的任務指令儲存在佇列儲存裝置314中且可將與所述任務相關聯的資料(任務資訊)儲存在作為內部記憶體350的SRAM中。
根據示例性實施例,SCQ電路300可依序儲存所接收的任務指令且可以所述任務指令被儲存的次序將所述任務指令分配給所述多個核心230。根據另一個示例性實施例,SCQ電路300可被配置成基於使用者設定的優先權將所述任務分配給所述多個核心230。
根據示例性實施例,SRAM位址控制器317可被配置成基於佇列控制電路313的控制將任務資訊儲存在內部記憶體350中。舉例來說,SRAM位址控制器317可基於佇列控制電路313的控制自動地產生位址且可根據所產生的位址將任務資訊儲存在內部記憶體350中。根據示例性實施例,SRAM位址控制器317可在內部記憶體350中搜索未儲存資料的儲存空間(memory space)以儲存任務資訊且可對所述儲存空間進行分配,產生儲存位址並將儲存位址遞送到佇列控制電路313。
根據示例性實施例,IRQ控制電路312可被配置成基於事件來產生中斷並將儲存在SCQ電路300中的任務指令及任務資訊遞送到所述多個核心230。
根據示例性實施例,SFR設定電路311可被配置成基於使用者的請求將中斷要求傳送到所述多個核心230或者將中斷要求傳送到從所述多個核心230之中指定的一些核心。
根據本發明各種示例性實施例的處理器(包括能夠獨立地執行操作的多個核心(例如,圖2所示230)、記憶體(例如,圖3所示350)以及電連接到所述多個核心230及記憶體350的控制電路(例如,圖3所示300))的任務處理方法可包括:獲取與要使用所述多個核心230中的至少一些核心230進行處理的任務相關聯的一個或多個指令;基於所述一個或多個指令將與所述任務對應的資料儲存在記憶體350中;將所述指令中的至少一些指令遞送到所述至少一些核心230;檢查所述至少一些核心230之中已對所述至少一些指令作出回應的一個或多個核心230;阻止將所述任務分配給除了已被分配所述任務的一個核心之外的核心;以及當所述任務未被分配給核心230時將所述任務分配給核心230中的一個核心230,所述任務的分配包括改變與所述分配相關聯的狀態資訊並將其他核心設定成不存取與所述任務對應的資料。再次重申,控制電路300可從第一核心230以及一組第二核心230接收回應。控制電路可接著阻止將所述任務分配給所述一組第二核心230中的每一個核心230而是將所述任務分配給第一核心230。所述一組第二核心230可包括除了第一核心230之外的已對至少一些指令作出回應的每一個核心。
任務處理方法還可包括將所述任務分配給所述至少一些核心230之中第一個對所述至少一些指令作出回應的核心。將與所述任務對應的資料儲存在記憶體350中可包括將任務指令儲存在具有FIFO結構的佇列儲存裝置314中。任務處理方法可包括由控制電路300通過IRQ控制電路312基於事件來產生中斷並將所述任務遞送到已對所述至少一些指令作出回應的一個或多個核心。記憶體350可被作為SRAM提供並嵌置在控制電路300中。所述任務處理方法可包括由控制電路300通過SRAM位址控制器317自動地分配用於儲存與所述任務對應的資料的位址並回應於所述獲取與要處理的所述任務相關聯的所述一個或多個指令來將與所述任務對應的資料儲存在記憶體350的所分配的位址中。任務處理方法可包括將所述任務優先分配給一個或多個基於由用戶設定的優先權而指定的核心。所述多個核心可被作為多個不同的DSP提供。
圖4是根據本發明各種示例性實施例的架構(圖2所示200)的操作流程圖。
參照圖4,在操作401中,根據示例性實施例的SCQ電路(例如,圖3所示300)可獲取與要使用多個核心(例如,圖2所示230)中的至少一些核心進行處理的任務相關聯的一個或多個指令。舉例來說,SCQ電路300可從所述多個核心230中的至少一些核心230接收任務處理請求。
在操作402中,根據示例性實施例的SCQ電路300可基於所接收任務中所包括的一個或多個指令將與所述任務對應的資料儲存在記憶體(例如,圖3所示350)中。
在操作403中,根據示例性實施例的SCQ電路300可將與所接收的任務相關聯的指令中的至少一些指令遞送到所述至少一些核心。
在操作404中,根據示例性實施例的SCQ電路300可檢查所述至少一些核心之中已對所述至少一些指令作出回應的一個或多個核心。
在操作405及406中,當所述任務被分配給所述核心中的一個核心時,根據示例性實施例的SCQ電路300可不將所述任務分配給與所述多個核心中的一個核心不同的其他核心。
在操作407中,當所述任務未被分配給所述核心時,根據示例性實施例的SCQ電路300可將所述任務分配給所述核心中的一個核心。根據示例性實施例,由SCQ電路300對任務進行的分配可包括改變與所述分配相關聯的狀態資訊並阻止其他核心存取與所述任務對應的資料。
圖5是根據本發明各種示例性實施例的架構(例如,圖2所示200)的任務處理過程的操作流程圖。
參照圖5,在操作501中,根據示例性實施例的多個核心(例如,圖2所示230)中的至少一些核心可產生任務並將所產生的任務遞送到SCQ電路(例如,圖3所示300)。舉例來說,SCQ電路300可從所述多個核心230中的至少一些核心230接收任務處理請求。
在操作502及503中,根據示例性實施例的SCQ電路300可響應於從所述多個核心230中的至少一些核心230接收到任務處理請求來檢查(確定)是否容納對應的任務並將所述檢查的結果遞送到所述多個核心230。舉例來說,SCQ電路300可被配置成通過佇列儲存裝置314儲存多達32個任務並儲存多達8千位元組任務資料。根據示例性實施例,如上所述,當可容納任務的數目超過指定數目時或者當指定記憶體儲存空間(memory storage space)已滿時,SCQ電路300可確定無法容納更多工資料。根據示例性實施例,當確定無法容納更多工時,SCQ電路300可將對應的資訊遞送到所述多個核心230。根據示例性實施例,所述多個核心230可被配置成在從SCQ電路300接收到指示無法容納更多工的事件之後的預定時間處再次向SCQ電路300傳送任務處理請求。根據示例性實施例,當從SCQ電路300接收到指示可容納任務的事件時,所述多個核心230可將任務指令及任務資料遞送到SCQ電路300。
在操作504中,根據示例性實施例的SCQ電路300可依序儲存所接收的任務指令。舉例來說,SCQ電路300可將任務指令儲存在具有FIFO結構的佇列儲存裝置(例如,圖3所示314)中,且可使用SRAM位址控制器(例如,圖3所示317)將任務資料儲存在內部記憶體(例如,圖3所示350)中。
在操作505及506中,根據示例性實施例的SCQ電路300可將任務指令中的至少一些任務指令遞送到所述多個核心230中的所有核心230。當接收到指令時,所述多個核心230中的每一個核心230可將指示是否能夠處理所述任務的事件傳送到SCQ電路300。
在操作507中,根據示例性實施例的SCQ電路300可檢查所述多個核心230中的所有核心230之中已對所述至少一些指令作出回應的一個或多個核心且可將所述任務分配給所述一個或多個核心。根據示例性實施例,SCQ電路300可依序儲存所接收的任務指令且可以所述任務指令被儲存的次序將所述任務指令分配給所述多個核心230。根據另一個示例性實施例,SCQ電路300可被配置成基於使用者設定的優先權將所述任務分配給所述多個核心230。
在操作508及509中,根據示例性實施例,被分配所述任務的所述核心可從SCQ電路300接收任務資料且可對所接收的任務進行處理。
圖6是示出SCQ電路將至少一些核心請求的任務分配給其他核心的過程的示例圖。
參照圖6,根據本發明示例性實施例的架構600(例如,圖2所示200)可包括能夠獨立地執行操作的多個核心630(例如,圖2所示230)以及SCQ電路620(例如,圖3所示300)。根據示例性實施例,所述多個核心630可包括被作為多個不同的DSP或至少一個硬體加速器提供的第一核心到第四核心631、633、635及637。
根據示例性實施例,SCQ電路620可將由特定核心請求的任務以中斷事件形式遞送到多個核心且可從所述多個核心中的至少一些核心接收對中斷事件的回應。根據示例性實施例,SCQ電路620可將所請求的任務分配給所述多個核心之中第一個作出回應的核心。舉例來說,SCQ電路620將由所述至少一些核心請求的任務分配給其他核心的過程可被表示為圖6所示箭頭610。當從第三核心635接收到任務處理請求時,SCQ電路620的仲裁器電路621(例如,圖3所示佇列控制電路313)可將所接收的任務依序儲存在佇列儲存裝置622(例如,圖3所示314)中且可將與所述任務相關聯的中斷事件傳送到第一核心到第四核心631、633、635及637。當所述回應是從第一核心到第四核心631、633、635及637之中的第一核心631第一次接收到時,SCQ電路620可將所述任務分配給第一核心631。被分配所述任務的核心(例如,第一核心631)可執行與所分配的任務相關聯的功能。
圖7是示出SCQ電路考慮到任務之間的相依性來分配任務的方法的示例圖。圖8示出SCQ電路設定等待任務的實例。
根據示例性實施例,圖7可為二維(two dimensional,2D)離散傅利葉變換(discrete Fourier transform,DFT)演算法的實例。當通過根據本發明各種示例性實施例的架構(例如,圖2所示200)執行任務時,如圖7所示在所述任務之間可存在相依性。舉例來說,與方塊721及方塊722對應的任務可必須在與方塊711對應的任務被處理之後被處理。作為另外一種選擇,與方塊731對應的任務可必須在與方塊721及方塊722對應的任務被處理之後被處理。作為另外一種選擇,與方塊741、方塊742、方塊743及方塊744對應的任務可必須在與方塊731對應的任務被處理之後被處理。作為另外一種選擇,與方塊751及方塊752對應的任務可必須在與方塊741、方塊742、方塊743及方塊744對應的任務被處理之後被處理。
參照圖7及圖8,根據本發明各種示例性實施例的SCQ電路800(例如,圖3所示300)可考慮到任務之間的相依性來設定等待任務。舉例來說,SCQ電路800的仲裁器電路821(例如,圖3所示佇列控制電路313)可為佇列儲存裝置822(例如,圖3所示314)指定等待任務1 832以使得在與圖7所示方塊711對應的任務被處理之前所述其他任務不會被處理。
作為另外一種選擇,SCQ電路800的仲裁器電路821可為佇列儲存裝置822指定等待任務2 835以使得在與圖7所示方塊721及722對應的任務被處理之前所述其他任務不會被處理。
作為另外一種選擇,SCQ電路800的仲裁器電路821可為佇列儲存裝置822指定等待任務3以使得在與方塊731對應的任務被處理之前所述其他任務不會被處理。
作為另外一種選擇,SCQ電路800的仲裁器電路821可為佇列儲存裝置822指定等待任務4以使得在與方塊741、742、743及744對應的任務被處理之前所述其他任務不會被處理。
圖9是根據各種示例性實施例的相機模組980(例如,圖1所示180)的方塊圖900。參照圖9,相機模組980可包括鏡頭總成910、閃光燈920、圖像感測器930、圖像穩定器(image stabilizer)940、記憶體950(例如,緩衝記憶體)或圖像訊號處理器960。鏡頭總成910可收集從要成像的對象發出的光。鏡頭總成910可包括一個或多個鏡頭。根據示例性實施例,相機模組980可包括多個鏡頭總成910。在這種情形中,相機模組980可為例如雙相機(dual camera)、360度相機(360 degree camera)或球形相機(spherical camera)。所述多個鏡頭總成910可具有相同的鏡頭屬性(例如,視角、焦距、自動聚焦、f數(f number)或光學變焦(optical zoom))。作為另外一種選擇,鏡頭總成中的至少一個鏡頭總成可具有至少一種與其他鏡頭總成不同的鏡頭屬性。鏡頭總成910可包括例如廣角鏡頭(wide-angle lens)或攝遠鏡頭(telephoto lens)。閃光燈920可發出用於加強從物件發出的光的光源。閃光燈920可包括一個或多個發光二極體(light emitting diode,LED)(例如,紅綠藍(red-green-blue,RGB)LED、白色LED、紅外LED或紫外(ultraviolet)LED)或氙氣燈(xenon lamp)。
圖像感測器930可將通過鏡頭總成910從物件遞送的光轉換成電訊號來獲取與物件對應的圖像。根據示例性實施例,圖像感測器930可包括選自具有不同屬性的圖像感測器之中的一個圖像感測器,例如RGB感測器、黑白(black and white,BW)感測器、紅外(IR)感測器或紫外(UV)感測器、具有相同屬性的多個圖像感測器或具有不同屬性的多個圖像感測器。舉例來說,圖像感測器930中所包括的圖像感測器中的每一者可被實施為電荷耦合裝置(charged coupled device,CCD)感測器或互補金屬氧化物半導體(complementary metal oxide semiconductor,CMOS)感測器。
回應於相機模組980的移動或包括相機模組980的電子裝置101的移動,圖像穩定器940可在特定方向上移動或控制(例如,調整讀出時序)圖像感測器930或鏡頭總成910中所包括的至少一個鏡頭以使得部分地補償因所述移動而對被拍攝的圖像造成的負面影響(例如,圖像模糊)。根據示例性實施例,圖像穩定器940可被實施為例如光學圖像穩定器。所述移動可通過位於相機模組980內部或外部的陀螺儀感測器(圖中未示出)或加速度感測器(圖中未示出)來探測。
為進行下一影像處理任務,記憶體950可至少臨時地儲存通過圖像感測器930獲取的圖像的至少一部分。舉例來說,當根據快門的圖像獲取被延遲時或者當多個圖像是以高速度獲取的時,可將所獲取的原始圖像(例如,高解析度圖像)儲存在記憶體950中,且可通過顯示裝置160來預覽對應的副本圖像(例如,低解析度圖像)。接著,當滿足規定條件時(例如,使用者輸入或系統命令),圖像訊號處理器960舉例來說可獲取及處理儲存在記憶體950中的至少一些原始圖像。根據示例性實施例,記憶體950可被作為記憶體130的至少一部分提供或者作為獨立運行的單獨的記憶體提供。
圖像訊號處理器960可對通過圖像感測器930獲取的圖像或儲存在記憶體950中的圖像執行影像處理(例如,深度圖生成(depth map creation)、三維(three dimensional,3D)建模、全景生成(panorama creation)、特徵點提取、圖像合成或圖像補償(例如,降噪、解析度調整、明度調整、模糊、銳化或軟化))。另外地或作為另外一種選擇,圖像訊號處理器960可對相機模組980中所包括的至少一個元件(例如,圖像感測器930)執行控制(例如,曝光時間控制或讀出時序控制)。由圖像訊號處理器960處理的圖像可再次儲存在記憶體950中以用於另外的處理,或者可被遞送到相機模組980的外部元件(例如,圖1所示記憶體130、顯示裝置160、電子裝置102、電子裝置104或伺服器108)。根據示例性實施例,圖像訊號處理器960可被作為處理器(例如,圖1所示120)的至少一部分提供或者作為獨立於處理器120運行的單獨的處理器提供。當圖像訊號處理器960被作為單獨的處理器提供時,由圖像訊號處理器960處理的圖像可在未由處理器120執行另外的影像處理的條件下或者在由處理器120執行另外的影像處理之後通過顯示裝置(例如,圖1所示160)顯示。
根據示例性實施例,電子裝置(例如,圖1所示101)可包括具有不同的屬性或功能的兩個或更多個相機模組980。在這種情形中,舉例來說,相機模組980中的至少一個相機模組980可為廣角相機或前置相機,且相機模組980中的至少另一個相機模組980可為攝遠相機或後置相機。
根據本發明的各種示例性實施例,可獲得以下效果。
通過SCQ電路管理及共用來源於多個DSP的任務,可提高任務處理速度及任務管理效率。
由於不需要應用單獨的鎖定演算法來遞送任務,因此SCQ電路快速運行。鎖定演算法為不允許除了被分配任務的特定DSP核心之外的核心存取任務資料的演算法,它會使性能劣化。
SCQ電路使用SRAM來儲存任務資料,且因此由於不需要使用主記憶體來遞送任務而具有快速處理速度。
SCQ電路不具有主-從結構,且因此可向DSP核心中的所有DSP核心施加任務。
可提供各種類型的裝置作為根據本文所公開的各種示例性實施例的電子裝置。電子裝置可包括例如可攜式通訊裝置(例如,智慧型電話)、電腦裝置、可攜式多媒體裝置、可攜式醫療裝置、相機、穿戴式裝置或家用電器中的至少一者。根據本文所公開示例性實施例的電子裝置並非僅限於上述裝置。
應理解,並非旨在將本公開限制到本文所公開的特定形式;而是本公開應被視為涵蓋對示例性實施例的各種修改、等效形式和/或替代形式。在描述圖式時,可使用相似的參考編號指示相似的組成元件。除非上下文清楚地另外指明,否則本文所用單數形式也可包括複數形式。在本公開中,表達“A或B”、“A和/或B中的至少一者”、“A、B或C”、及“A、B、和/或C中的至少一者”可包括所列物項的所有可能組合。本文所用的例如“第一(first)”、“第二(second)”、“所述第一(the first)”或“所述第二(the second)”等表達可表示各種元件,而不論元件的次序和/或重要性。使用這些表達是為了區分各個元件,而非對對應的元件進行限制。應理解,當稱元件(例如,第一元件)(可操作地或可通訊地)“耦合”到或“連接到”另一元件(例如,第二元件)時,所述第一元件可直接耦合到或直接連接到第二元件或者在這兩個元件之間可夾置有任何其他元件(例如,第三元件)。
本公開所用用語“模組”可指被作為硬體、軟體或固件提供的單元。舉例來說,用語“模組”可與例如邏輯、邏輯塊、元件或電路等用語互換。模組可為集成元件或者執行一種或多種特定功能的最小單元或最小單元的一部分。舉例來說,模組可被作為應用專用積體電路(application-specific integrated circuit,ASIC)提供。
本文所公開的各種示例性實施例可被實施為包括儲存在可由機器(例如,電腦)讀取的儲存介質(例如,內部記憶體136或外部記憶體138)中的指令的軟體(例如,程式140)。作為能夠調用儲存在儲存介質中的指令並根據所調用的指令運行的裝置的機器可包括根據所公開的示例性實施例的電子裝置(例如,電子裝置101)。當所述指令由處理器(例如,處理器120)執行時,處理器可直接執行與所述指令對應的功能或者通過受處理器控制的其他元件來執行與所述指令對應的功能。所述指令可包含由編譯器或解譯器生成或執行的代碼。機器可讀儲存介質可以非暫時性儲存介質形式提供。此處,用語“非暫時性”表示儲存介質不包括訊號且是有形的,而不論資料以半永久形式儲存在儲存介質中還是臨時儲存在儲存介質中。
根據示例性實施例,根據本文所公開的各種示例性實施例的方法可包括在電腦程式產品中。電腦程式產品可在賣方與買方之間作為商品進行交易。電腦程式產品可以機器可讀儲存介質(例如,壓縮磁碟唯讀記憶體(compact disc read only memory,CD-ROM))形式分發,或者通過應用商店(例如,PlayStoreTM (播放商店TM )線上分發。對於線上分發而言,電腦程式產品的至少一部分可至少臨時儲存在儲存介質(例如,製造商伺服器、應用商店的伺服器或中繼伺服器的記憶體)中或可暫時地產生。
根據各種示例性實施例的元件中的每一個元件(例如,模組或程式)可由單個實體或多個實體構成,且可省略上述子元件中的一些子元件,或者在各種示例性實施例中可進一步包括其他子組件。作為另外一種選擇或另外地,可將一些元件(例如,模組或程式)集成成一個實體以執行由每一個回應的元件在集成之前執行的相同或相似的功能。由根據本公開各種示例性實施例的模組、程式或其他元件執行的操作可依序地、並行地、重複地或以啟發式方法執行。另外,一些操作可以不同的順序執行或者可被省略,或者可添加其他操作。
100‧‧‧網路環境
101、102‧‧‧電子裝置
104‧‧‧電子裝置/外部電子裝置
108‧‧‧伺服器
120‧‧‧處理器
121‧‧‧主處理器
123‧‧‧輔助處理器
130、250、950‧‧‧記憶體
132‧‧‧揮發性記憶體
134‧‧‧非揮發性記憶體
136‧‧‧內部記憶體
138‧‧‧外部記憶體
140‧‧‧程式
142‧‧‧作業系統
144‧‧‧中介軟體
146‧‧‧應用
150‧‧‧輸入裝置
155‧‧‧聲音輸出裝置
160‧‧‧顯示裝置
170‧‧‧音訊模組
176‧‧‧感測器模組
177‧‧‧介面
178‧‧‧連接端子
179‧‧‧觸感模組
180、980‧‧‧相機模組
188‧‧‧電源管理模組
189‧‧‧電池
190‧‧‧通訊模組
192‧‧‧無線通訊模組
194‧‧‧有線通訊模組
196‧‧‧使用者識別模組
197‧‧‧天線模組
198‧‧‧第一網路
199‧‧‧第二網路
200、600‧‧‧架構
210‧‧‧控制電路/共用命令佇列(SCQ)電路
220‧‧‧核心控制集線器
230‧‧‧核心/第一核心/第二核心
231、631‧‧‧第一核心
233、633‧‧‧第二核心
235、635‧‧‧第三核心
237、637‧‧‧第四核心
240、320‧‧‧匯流排
300‧‧‧控制電路/共用命令佇列(SCQ)電路
310‧‧‧主電路
311‧‧‧特殊功能暫存器(SFR)設定電路
312‧‧‧中斷要求(IRQ)控制電路
313‧‧‧佇列控制電路
314、622、822‧‧‧佇列儲存裝置
315‧‧‧佇列排程電路
316‧‧‧佇列記憶體有效性檢查器
317‧‧‧SRAM位址控制器
318‧‧‧SRAM介面
350‧‧‧記憶體/內部記憶體
401、402、403、404、405、406、407、501、502、503、504、505、506、507、508、509‧‧‧操作
610‧‧‧箭頭
620、800‧‧‧共用命令佇列(SCQ)電路
621、821‧‧‧仲裁器電路
630‧‧‧核心
711、721、722、731、741、742、743、744、751、752‧‧‧方塊
832‧‧‧等待任務1
835‧‧‧等待任務2
900‧‧‧方塊圖
910‧‧‧鏡頭總成
920‧‧‧閃光燈
930‧‧‧圖像感測器
940‧‧‧圖像穩定器
960‧‧‧圖像訊號處理器
通過參照附圖詳細闡述本公開的示例性實施例,本公開的以上及其它方面及特徵將變得更顯而易見,在附圖中: 圖1是根據各種示例性實施例的網路環境中的電子裝置的方塊圖。 圖2是示出根據本發明各種示例性實施例的架構的方塊圖。 圖3是根據本發明各種示例性實施例的控制電路的方塊圖。 圖4是根據本發明各種示例性實施例的架構的操作流程圖。 圖5是示出根據本發明各種示例性實施例的架構的任務處理過程的操作流程圖。 圖6是示出共用命令佇列(shared command queue,SCQ)電路將由至少一些核心請求的任務分配給其他核心的過程的示例圖。 圖7是示出SCQ電路考慮到任務之間的相依性來分配任務的方法的示例圖。 圖8示出其中SCQ電路設定等待任務的實例。 圖9是根據各種示例性實施例的相機模組的方塊圖。

Claims (10)

  1. 一種處理器,包括: 多個核心,被配置成獨立地執行操作; 記憶體;以及 控制電路,電連接到所述多個核心及所述記憶體,所述控制電路被配置成: 獲取與要使用所述多個核心中的至少一些核心進行處理的任務相關聯的一個或多個指令, 基於所述一個或多個指令,將與所述任務對應的資料儲存在所述記憶體中, 將所述一個或多個指令中的至少一些指令傳送到所述多個核心中的所述至少一些核心, 檢查所述多個核心中的所述至少一些核心之中已對所述一個或多個指令中的所述至少一些指令作出回應的一個或多個核心, 如果所述任務被分配給所述多個核心中的一些核心之中的一個核心,則阻止將所述任務分配給除所述一個核心之外所述多個核心中的所述一些核心,以及 將所述任務分配給所述一個核心,所述任務的所述分配包括:改變與所述分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的所述資料。
  2. 如申請專利範圍第1項所述的處理器,其中所述一個核心是所述多個核心中的所述一些核心之中第一個對所述一個或多個指令中的所述至少一些指令作出回應的核心。
  3. 如申請專利範圍第1項所述的處理器,其中所述控制電路包括佇列儲存裝置,所述佇列儲存裝置被配置成以先進先出結構儲存及管理任務指令。
  4. 如申請專利範圍第1項所述的處理器,其中所述控制電路包括中斷要求控制電路,所述中斷要求控制電路被配置成基於事件來產生中斷並將所述任務傳送到已對所述一個或多個指令中的所述至少一些指令作出回應的一個或多個核心。
  5. 如申請專利範圍第1項所述的處理器,其中所述記憶體是靜態隨機存取記憶體且嵌置在所述控制電路中。
  6. 如申請專利範圍第5項所述的處理器,其中所述控制電路包括靜態隨機存取記憶體位址控制器,所述靜態隨機存取記憶體位元址控制器被配置成分配用於儲存與所述任務對應的所述資料的位址並回應於所述獲取與要處理的所述任務相關聯的所述一個或多個指令來將與所述任務對應的所述資料儲存在所述記憶體的所分配的所述位址中。
  7. 如申請專利範圍第1項所述的處理器,其中所述控制電路被配置成將所述任務分配給基於由用戶設定的優先權而指定的一個或多個核心。
  8. 如申請專利範圍第1項所述的處理器,其中所述多個核心是多個不同的數位訊號處理器。
  9. 一種處理器的任務處理方法,所述處理器包括能夠獨立地執行操作的多個核心、記憶體及電連接到所述多個核心及所述記憶體的控制電路,所述任務處理方法包括: 獲取與要使用所述多個核心中的至少一些核心進行處理的任務相關聯的一個或多個指令, 基於所述一個或多個指令,將與所述任務對應的資料儲存在所述記憶體中, 將所述一個或多個指令中的至少一些指令傳送到所述多個核心中的所述至少一些核心, 檢查所述多個核心中的所述至少一些核心之中已對所述一個或多個指令中的所述至少一些指令作出回應的一個或多個核心, 如果所述任務被分配給所述多個核心中的所述至少一些核心之中的一個核心,則阻止將所述任務分配給除所述一個核心之外的所述多個核心,以及 將所述任務分配給所述一個核心,所述任務的所述分配包括:改變與所述分配相關聯的狀態資訊並將所述多個核心之中未被分配所述任務的其他核心設定成不存取與所述任務對應的所述資料。
  10. 一種架構,包括: 多個核心,包括多個不同的數位訊號處理器或至少一個硬體加速器;以及 控制電路,電連接到所述多個核心, 其中所述控制電路被配置成: 從所述多個核心中的至少一些核心接收任務處理請求, 將與所述任務相關聯的指令及資訊儲存在內部記憶體中, 將與所述任務相關聯的所述指令中的至少一些指令以事件形式傳送到所述多個核心,以及 將所述任務分配給所述多個核心之中第一個對所述至少一些指令作出回應的一個核心。
TW107144473A 2017-12-11 2018-12-11 處理器、其任務處理方法及架構 TW201928662A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170169551A KR102442921B1 (ko) 2017-12-11 2017-12-11 디지털 시그널 프로세서(dsp)의 태스크 관리 효율을 높일 수 있는 전자 장치
??10-2017-0169551 2017-12-11

Publications (1)

Publication Number Publication Date
TW201928662A true TW201928662A (zh) 2019-07-16

Family

ID=66696832

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107144473A TW201928662A (zh) 2017-12-11 2018-12-11 處理器、其任務處理方法及架構

Country Status (4)

Country Link
US (1) US11422852B2 (zh)
KR (1) KR102442921B1 (zh)
CN (1) CN110032443A (zh)
TW (1) TW201928662A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395234A (zh) * 2019-08-16 2021-02-23 阿里巴巴集团控股有限公司 一种请求处理方法及装置
CN111081198B (zh) * 2019-11-29 2022-12-06 Tcl移动通信科技(宁波)有限公司 数据控制方法、数据控制装置、存储介质及终端设备
KR20220056986A (ko) 2020-10-29 2022-05-09 삼성전자주식회사 메모리 확장기, 이종 컴퓨팅 장치, 및 이종 컴퓨팅 장치의 동작 방법
KR20220168742A (ko) * 2021-06-17 2022-12-26 삼성전자주식회사 인터럽트 제어를 수행하는 이미지 신호 프로세서 및 이미지 처리 시스템

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035852B2 (en) * 2000-07-21 2006-04-25 International Business Machines Corporation Implementing a message queuing interface (MQI) indexed queue support that adds a key to the index on put commit
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
JP3942617B2 (ja) * 2005-02-10 2007-07-11 株式会社日立製作所 分散処理システムの計算機資源管理方法
US8037474B2 (en) * 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
KR100791296B1 (ko) 2006-03-03 2008-01-04 삼성전자주식회사 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
US8055886B2 (en) * 2007-07-12 2011-11-08 Texas Instruments Incorporated Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction
CN101446909B (zh) * 2007-11-30 2011-12-28 国际商业机器公司 用于管理任务事件的方法和系统
TWI386814B (zh) * 2007-12-31 2013-02-21 Ind Tech Res Inst 具動態工作管理能力之多處理器界面及其程式載卸方法
US8656145B2 (en) 2008-09-19 2014-02-18 Qualcomm Incorporated Methods and systems for allocating interrupts in a multithreaded processor
EP2282265A1 (en) 2009-07-27 2011-02-09 Nxp B.V. A hardware task scheduler
US9098335B2 (en) * 2009-12-23 2015-08-04 Citrix Systems, Inc. Systems and methods for managing spillover limits in a multi-core system
KR101651871B1 (ko) 2009-12-28 2016-09-09 삼성전자주식회사 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US9348587B2 (en) * 2010-07-09 2016-05-24 Hyperion Core, Inc. Providing code sections for matrix of arithmetic logic units in a processor
US8937622B2 (en) 2010-09-20 2015-01-20 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform
US8868748B2 (en) * 2010-10-11 2014-10-21 International Business Machines Corporation Two-level management of locks on shared resources
KR101738641B1 (ko) 2010-12-17 2017-05-23 삼성전자주식회사 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법
US8842122B2 (en) 2011-12-15 2014-09-23 Qualcomm Incorporated Graphics processing unit with command processor
US9619240B2 (en) 2012-02-04 2017-04-11 Empire Technology Development Llc Core-level dynamic voltage and frequency scaling in a chip multiprocessor
US9195506B2 (en) * 2012-12-21 2015-11-24 International Business Machines Corporation Processor provisioning by a middleware processing system for a plurality of logical processor partitions
US9086925B2 (en) * 2013-01-18 2015-07-21 Nec Laboratories America, Inc. Methods of processing core selection for applications on manycore processors
US9692820B2 (en) * 2013-04-06 2017-06-27 Citrix Systems, Inc. Systems and methods for cluster parameter limit
KR101694310B1 (ko) 2013-06-14 2017-01-10 한국전자통신연구원 멀티코어 프로세서 기반의 모니터링 장치 및 그 방법
US9582012B2 (en) 2014-04-08 2017-02-28 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
KR102182295B1 (ko) * 2014-04-21 2020-11-24 삼성전자 주식회사 하드웨어 기반 태스크 스케쥴링 장치 및 방법
US9880857B2 (en) * 2015-12-01 2018-01-30 Seagate Technology Llc System file management on a storage device
US10013392B2 (en) * 2016-01-26 2018-07-03 Intel Corporation Providing access from outside a multicore processor SoC to individually configure voltages

Also Published As

Publication number Publication date
CN110032443A (zh) 2019-07-19
KR20190069139A (ko) 2019-06-19
US11422852B2 (en) 2022-08-23
KR102442921B1 (ko) 2022-09-13
US20190179670A1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
US11422852B2 (en) Electronic device capable of increasing task management efficiency of digital signal processor
US10812768B2 (en) Electronic device for recording image by using multiple cameras and operating method thereof
US10979612B2 (en) Electronic device comprising plurality of cameras using rolling shutter mode
US11563887B2 (en) Method for controlling synchronization of plurality of image sensors and electronic device for implementing same
KR20200067027A (ko) 복수의 카메라들 또는 깊이 센서 중 적어도 하나를 이용하여 깊이 정보를 획득하는 전자 장치
KR102512839B1 (ko) 외부 장치의 자세 조정을 통해 복수의 카메라들을 이용하여 이미지를 획득하는 전자 장치 및 방법
KR102330264B1 (ko) 움직임 정보에 기반하여 동영상을 재생하기 위한 장치 및 그의 동작 방법
US11601590B2 (en) Interface connected to image sensor and electronic device comprising interfaces connected among plurality of processors
US11126322B2 (en) Electronic device and method for sharing image with external device using image link information
US11297266B2 (en) Electronic device and method for obtaining data from second image sensor by means of signal provided from first image sensor
KR102418852B1 (ko) 이미지 표시를 제어하는 전자 장치 및 방법
US20230133394A1 (en) Method for processing photographed image and electronic device therefor
US20220303450A1 (en) Electronic device for providing image processing service through network
KR20210094860A (ko) 사용자 인터페이스 제공 방법 및 이를 위한 전자 장치
US20190238891A1 (en) Method of processing images and electronic device thereof
KR102390798B1 (ko) 그래픽컬 콘텐트를 제공하는 전자 장치 및 제어 방법
KR20220151116A (ko) 융합된 커맨드들의 원자적 프로세싱 방법 및 메모리 장치
US11726823B2 (en) Electronic device having heterogeneous processors and method of processing task using the heterogeneous processors
KR102494412B1 (ko) Simd 연산을 이용하여 이미지 데이터의 주파수 변환을 수행하는 전자 장치 및 전자 장치의 동작 방법
KR102518167B1 (ko) 이미지 처리 방법 및 그 전자 장치
KR102408961B1 (ko) 처리가 지연되고 있는 태스크의 처리 방법 및 이를 지원하는 전자 장치
KR102503440B1 (ko) 보안 처리 모듈을 이용하여 보안 이미지를 획득하는 전자 장치
KR20210060235A (ko) 전자 장치의 이벤트를 공유하기 위한 방법 및 장치