多核終端共享資源的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明涉及一種多核終端共享資源的方法及裝置,其方法包括:當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;當(dāng)共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。本發(fā)明針對(duì)目前多核的終端,存在多個(gè)共享資源時(shí),利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用,由此協(xié)調(diào)了各核對(duì)共享資源的分配,提高了公共資源的利用率,同時(shí)提高了終端系統(tǒng)整體性能。
【專(zhuān)利說(shuō)明】多核終端共享資源的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)通信【技術(shù)領(lǐng)域】,尤其涉及一種多核終端共享資源的方法及裝置?!颈尘凹夹g(shù)】
[0002]隨著系統(tǒng)集成技術(shù)和無(wú)線通信技術(shù)的快速發(fā)展,尤其是無(wú)線通信系統(tǒng)中,多核智能機(jī)終端的大量出現(xiàn),導(dǎo)致各CPU核在操作很多公共資源時(shí)出現(xiàn)沖突。例如,當(dāng)某一個(gè)CPU核需要調(diào)整系統(tǒng)總線頻率或核電壓時(shí),會(huì)影響其它核的性能,若各CPU核同時(shí)進(jìn)行調(diào)頻調(diào)壓,則會(huì)產(chǎn)生沖突;又如,當(dāng)某一個(gè)CPU核需要操作公共RF (射頻)資源時(shí),會(huì)影響其它核的功能,若各CPU核同時(shí)操作公共RF資源,同樣會(huì)造成資源使用沖突,對(duì)于其他公共資源的使用,同樣存在沖突問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于提供一種多核終端共享資源的方法及裝置,旨在實(shí)現(xiàn)公共資源的保護(hù)與協(xié)調(diào)使用。
[0004]為了達(dá)到上述目的,本發(fā)明提出一種多核終端共享資源的方法,包括:
[0005]當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;
[0006]當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
[0007]優(yōu)選地,所述共享資源至少包括以下之一:多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口。
[0008]優(yōu)選地,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要進(jìn)行調(diào)頻調(diào)壓時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括:
[0009]將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài);
[0010]從所述共享互斥寄存器中讀取所述第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率進(jìn)行比較;
[0011]根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率;
[0012]將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
[0013]優(yōu)選地,所述根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率的步驟包括:
[0014]當(dāng)所述預(yù)調(diào)核頻率大于所述第一核的當(dāng)前頻率時(shí),從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;
[0015]當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;設(shè)置所述第一核的當(dāng)前頻率;
[0016]當(dāng)所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率時(shí),設(shè)置所述第一核的當(dāng)前頻率;從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
[0017]優(yōu)選地,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要調(diào)整系統(tǒng)總線頻率時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括:
[0018]將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài);
[0019]從所述共享互斥寄存器中讀取系統(tǒng)當(dāng)前總線頻率、所述第二核允許的最低系統(tǒng)總線頻率;
[0020]比較預(yù)調(diào)核頻率、所述系統(tǒng)當(dāng)前總線頻率以及第二核允許的最低系統(tǒng)總線頻率;取其中最大者設(shè)置為系統(tǒng)當(dāng)前總線頻率;
[0021]將所述系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
[0022]優(yōu)選地,當(dāng)所述多核終端共享RF公共資源時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括:
[0023]當(dāng)所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);若所述對(duì)應(yīng)的RF公共資源狀態(tài)為工作狀態(tài),則將所述對(duì)應(yīng)的RF公共資源狀態(tài)置為省電狀態(tài),并將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中;
[0024]當(dāng)所述多核終端中的任一核在喚醒時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);若所述對(duì)應(yīng)的RF公共資源狀態(tài)為省電狀態(tài),則將所述對(duì)應(yīng)的RF公共資源狀態(tài)恢復(fù)到工作狀態(tài),并將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中。
[0025]優(yōu)選地,該方法還包括:
[0026]當(dāng)資源共享完畢后,將所述共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
[0027]本發(fā)明還提出一種多核終端共享資源的裝置,包括:
[0028]狀態(tài)位讀取模塊,用于當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;
[0029]資源共享模塊,用于當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
[0030]優(yōu)選地,所述共享資源至少包括以下之一:多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口。
[0031]優(yōu)選地,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要進(jìn)行調(diào)頻調(diào)壓時(shí),所述資源共享模塊包括:
[0032]置位單元,用于將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài);
[0033]讀取單元,用于從所述共享互斥寄存器中讀取所述第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率進(jìn)行比較;
[0034]設(shè)置單元,用于根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率;
[0035]更新單元,用于將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
[0036]優(yōu)選地,所述設(shè)置單元還用于當(dāng)所述預(yù)調(diào)核頻率大于所述第一核的當(dāng)前頻率時(shí),從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;設(shè)置所述第一核的當(dāng)前頻率;當(dāng)所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率時(shí),設(shè)置所述第一核的當(dāng)前頻率;從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
[0037]優(yōu)選地,當(dāng)所述第一核需要調(diào)整系統(tǒng)總線頻率時(shí),所述讀取單元,還用于從所述共享互斥寄存器中讀取系統(tǒng)當(dāng)前總線頻率、所述第二核允許的最低系統(tǒng)總線頻率;
[0038]所述設(shè)置單元,還用于比較預(yù)調(diào)核頻率、所述系統(tǒng)當(dāng)前總線頻率以及第二核允許的最低系統(tǒng)總線頻率;取其中最大者設(shè)置為系統(tǒng)當(dāng)前總線頻率;
[0039]所述更新單元,還用于將所述系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
[0040]優(yōu)選地,當(dāng)所述多核終端共享RF公共資源時(shí),
[0041]所述讀取單元,還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)或在喚醒時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);
[0042]所述設(shè)置單元,還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為工作狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)置為省電狀態(tài);或者,在所述多核終端中的任一核在喚醒時(shí)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為省電狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)恢復(fù)到工作狀態(tài);
[0043]所述更新單元,還用于將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中。
[0044]優(yōu)選地,所述置位單元還用于當(dāng)資源共享完畢后,將所述共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
[0045]本發(fā)明提出的一種多核終端共享資源的方法及裝置,針對(duì)目前多核的終端,存在多個(gè)共享資源時(shí),利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用,在多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;當(dāng)共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享,由此協(xié)調(diào)了各核對(duì)共享資源的分配,提高了公共資源的利用率,同時(shí)提高了終端系統(tǒng)整體性能。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0046]圖1是本發(fā)明多核終端共享資源的方法一實(shí)施例的流程示意圖;
[0047]圖2是本發(fā)明多核終端共享資源的裝置一實(shí)施例的結(jié)構(gòu)示意圖;
[0048]圖3是本發(fā)明多核終端共享資源的裝置一實(shí)施例中資源共享模塊的結(jié)構(gòu)示意圖。
[0049]為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
【具體實(shí)施方式】
[0050]本發(fā)明實(shí)施例的解決方案主要是:針對(duì)目前多核的終端,存在多個(gè)共享資源時(shí),利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用。
[0051]本發(fā)明中多核終端指包含兩個(gè)或兩個(gè)以上CPU核(以下簡(jiǎn)稱(chēng)核)的終端,以下各實(shí)施例以目前雙核共享架構(gòu)的終端為例進(jìn)行說(shuō)明。
[0052]如圖1所示,本發(fā)明一實(shí)施例提出一種多核終端共享資源的方法,包括:
[0053]步驟S101,當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;
[0054]其中,共享資源指的是各個(gè)核都能訪問(wèn)和操作的資源,包括總線、內(nèi)存以及外設(shè)等,具體包括但不限于多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口等。
[0055]當(dāng)多核終端中的某一個(gè)核需要操作系統(tǒng)總線頻率或核電壓、RF資源、公共I2C總線等公共資源時(shí),都會(huì)影響其它核的性能,所以當(dāng)任何一個(gè)核動(dòng)態(tài)操作公共資源時(shí)都需要結(jié)合對(duì)方參數(shù)和要求進(jìn)行調(diào)整,此外,還需要避免雙方同時(shí)操作資源造成的沖突問(wèn)題。
[0056]本實(shí)施例利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用,以保證各核能正常使用共享資源。
[0057]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,該共享互斥寄存器為32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。
[0058]當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位,以便根據(jù)該共享互斥寄存器的狀態(tài)位設(shè)置相應(yīng)的參數(shù)。
[0059]步驟S102,當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
[0060]判斷所述共享互斥寄存器的狀態(tài)位是否空閑,當(dāng)所述共享互斥寄存器的狀態(tài)位未空閑時(shí),表示對(duì)方核對(duì)共享資源具有控制權(quán),當(dāng)前核無(wú)法使用資源;當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),則可以依賴(lài)該共享互斥寄存器存放的信息調(diào)節(jié)相應(yīng)的參數(shù),以實(shí)現(xiàn)資源共享。其中,在設(shè)置參數(shù)時(shí),需要將共享互斥寄存器的狀態(tài)位設(shè)置為非空閑狀態(tài),當(dāng)資源共享完畢后,需要將共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
[0061]下面以多核調(diào)頻調(diào)壓、RF公共資源、I2C總線為例對(duì)本實(shí)施例基于多核終端實(shí)現(xiàn)資源共享的方案進(jìn)行詳細(xì)闡述:
[0062]實(shí)例一、對(duì)于多核動(dòng)態(tài)調(diào)頻調(diào)壓的應(yīng)用場(chǎng)景:
[0063]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,以利用該共享互斥寄存器實(shí)現(xiàn)多核共享公共資源。
[0064]該共享互斥寄存器為32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核進(jìn)行調(diào)頻調(diào)壓時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取的共享互斥寄存器的最低位為空閑時(shí),則可以進(jìn)行相應(yīng)的頻率和核電壓設(shè)置,否則,需要等待該共孚互斥寄存器的最低位空閑為止。
[0065]當(dāng)然,在具體進(jìn)行頻率,電壓等設(shè)置時(shí),需要依賴(lài)該共享互斥寄存器存放的信息作為調(diào)頻調(diào)壓的條件,才能最終進(jìn)行調(diào)頻調(diào)壓的設(shè)置,當(dāng)調(diào)頻調(diào)壓完成后,需要置該共享互斥寄存器的最低位為0,釋放控制權(quán),則對(duì)方可以使用。
[0066]具體地,設(shè)定多核終端中的兩核分別為第一核和第二核,多核共享架構(gòu)動(dòng)態(tài)調(diào)核時(shí)鐘和電壓的實(shí)現(xiàn)流程如下:
[0067]I)、當(dāng)?shù)谝缓烁鶕?jù)CPU負(fù)載或者應(yīng)用場(chǎng)景方式等需要進(jìn)行調(diào)頻時(shí),會(huì)先讀取該共孕互斥寄存器最低位bit [O],當(dāng)讀到bit [O]為O時(shí),表不該共孕互斥寄存器空閑,目如可以使用;否則無(wú)法使用該共享互斥寄存器;[0068]2)、當(dāng)讀到bit[0]位為空閑后,硬件會(huì)自動(dòng)將該位置I,表示現(xiàn)在該共享互斥寄存器已使用,此時(shí)禁止其它用戶(hù)改寫(xiě)該共享互斥寄存器;
[0069]3)讀取該共享互斥寄存器中bit [3-1],讀出該第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及第一核的當(dāng)前頻率;
[0070]如果預(yù)調(diào)核頻率大于該第一核當(dāng)前頻率,則走升頻流程;否則,退出整個(gè)升頻流程;走降頻流程。
[0071]在升頻流程中,讀取該共享互斥寄存器中的bit[5_4],獲取當(dāng)前核電壓,以預(yù)調(diào)核電壓和當(dāng)前核電壓作比較,如果預(yù)調(diào)核電壓大于當(dāng)前核電壓,則走升壓流程,否則退出升壓流程。
[0072]當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),讀取該共享互斥寄存器的bit [7-6],獲取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;然后設(shè)置所述第一核的當(dāng)前頻率。
[0073]在降頻流程中,所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率,首先設(shè)置所述第一核的當(dāng)前頻率;然后從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器的bit [7-6]讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
[0074]最后,將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器中對(duì)應(yīng)位bit [5-4]、bit [3-1]、bit [9-8]。
[0075]此時(shí),系統(tǒng)將該共享互斥寄存器bit [O]置為0,讓出控制權(quán)。
[0076]對(duì)應(yīng)多核共享架構(gòu)動(dòng)態(tài)調(diào)節(jié)系統(tǒng)總線頻率的實(shí)現(xiàn)流程如下:
[0077]I)、當(dāng)?shù)谝缓烁鶕?jù)CPU負(fù)載或者應(yīng)用場(chǎng)景方式等需要進(jìn)行調(diào)總線頻率時(shí),會(huì)先讀該共孕互斥寄存器最低位bit[0],當(dāng)讀到為O時(shí),表不該共孕互斥寄存器空閑,目如可以使用;否則無(wú)法使用該共享互斥寄存器。
[0078]2)、當(dāng)讀到bit[0]位為空閑后,硬件會(huì)自動(dòng)將該位置I,表示現(xiàn)在該共享互斥寄存器已使用,此時(shí)禁止其它用戶(hù)改寫(xiě)該寄存器;
[0079]3)、以動(dòng)態(tài)降低系統(tǒng)總線頻率為例,根據(jù)調(diào)頻策略需要降頻時(shí),此時(shí)會(huì)讀取該共享互斥寄存器中bit[13_ll],讀出系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率;
[0080]讀取該共享互斥寄存器的bit [16-14],獲取第二核允許的最低系統(tǒng)總線頻率,取MAX(預(yù)調(diào)核頻率、系統(tǒng)當(dāng)前總線頻率、第二核允許的最低總線頻率),設(shè)置系統(tǒng)當(dāng)前總線頻率。
[0081]將當(dāng)前系統(tǒng)總線頻率和當(dāng)前第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)到該共享互斥寄存器中bit [13-11]和bit [19-17];之后,系統(tǒng)將該共享互斥寄存器bit [O]置為0,讓出控制權(quán)。
[0082]實(shí)例二、對(duì)應(yīng)多核使用RF公共資源的應(yīng)用場(chǎng)景:
[0083]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,以利用該共享互斥寄存器實(shí)現(xiàn)多核共享資源,該共享互斥寄存器是32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核需要操作RF資源時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取的共享互斥寄存器最低位為空閑時(shí),則可以進(jìn)行相應(yīng)的RF資源設(shè)操作和設(shè)置,否則,需要等待該位空閑為止。當(dāng)然,具體進(jìn)行RF資源操作時(shí),需要依賴(lài)該共享互斥寄存器存放的信息作為是否能操作RF的條件,才能最終進(jìn)行真正的RF的設(shè)置,當(dāng)操作完成后,需要置該該共享互斥寄存器最低位為O,釋放控制權(quán),則對(duì)方可以使用。
[0084]具體地,多核共享RF公共資源使用的實(shí)現(xiàn)流程如下:
[0085]I)、當(dāng)任何一個(gè)核在睡眠前去操作公共資源進(jìn)入省電狀態(tài)時(shí),必須先讀RF互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)去讀RF互斥共享寄存器中對(duì)方核RF公共資源狀態(tài)bit [I],如果為0,此時(shí)對(duì)應(yīng)將RF公共資源置為省電狀態(tài),然后將當(dāng)前狀態(tài)置到RF互斥共享寄存器對(duì)應(yīng)位中,最后配置RF互斥共享寄存器狀態(tài)位bit [O]為0,釋放控制權(quán);
[0086]2)、當(dāng)任何一個(gè)核在喚醒時(shí)需要必須先讀RF互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)去讀RF互斥共享寄存器中對(duì)方核RF公共資源狀態(tài)bit [I],如果為0,此時(shí)對(duì)應(yīng)將RF公共資源置為恢復(fù)到工作狀態(tài),然后將當(dāng)前狀態(tài)置到RF互斥共享寄存器對(duì)應(yīng)位中,最后配置RF互斥共享寄存器狀態(tài)位bit [O]為0,釋放控制權(quán)。
[0087]實(shí)例三、對(duì)應(yīng)多核使用公共I2C總線資源的應(yīng)用場(chǎng)景:
[0088]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,利用該共享互斥寄存器,該寄存器是32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核需要操作公共I2C資源時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取為空閑時(shí),則可以使用該公共I2C總線,否則,需要等待該位空閑為止。當(dāng)操作完成后,需要置該該共享互斥寄存器最低位為O,釋放控制權(quán),則對(duì)方可以使用。
[0089]具體地,多核公共I2C總線資源使用的實(shí)現(xiàn)流程如下:
[0090]I)、當(dāng)任何一個(gè)核去操作公共I2C總線資源,必須先讀I2C總線互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)才能去操作該I2C總線資源;否則如果bit [O] —直為I,則不能操作該I2C總線;
[0091]2)、當(dāng)任何一個(gè)核操作完該I2C總線,必須設(shè)置I2C總線互斥共享寄存器狀態(tài)位bit[0]為1,釋放控制權(quán),這樣其它核才能使用該公共資源。
[0092]本實(shí)施例通過(guò)上述方案,能夠解決對(duì)多核共享架構(gòu)/共享資源的分配和使用,不但能實(shí)際解決公共資源UART串口、RF資源等的使用,同時(shí)能解決多核DVFS調(diào)頻調(diào)壓實(shí)現(xiàn)方案,從而提高了終端的整體性能,其效果顯著。比如解決多核共享架構(gòu)進(jìn)行動(dòng)態(tài)調(diào)頻調(diào)壓,可以比較明顯的改善系統(tǒng)的待機(jī)、通話、上網(wǎng)等場(chǎng)景下的功耗,延長(zhǎng)用戶(hù)對(duì)電池使用的時(shí)間。
[0093]在其他實(shí)施例中只要是利用共享互斥寄存器來(lái)實(shí)現(xiàn)對(duì)雙核或者更多核共享架構(gòu)/共享資源的使用,均可以基于本實(shí)施例的上述方案而擴(kuò)展實(shí)施,在此不再贅述。
[0094]如圖2所示,本發(fā)明一實(shí)施例提出一種多核終端共享資源的裝置,包括:狀態(tài)位讀取模塊201及資源共享模塊202,其中:
[0095]狀態(tài)位讀取模塊201,用于當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;
[0096]資源共享模塊202,用于當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
[0097]其中,共享資源指的是各個(gè)核都能訪問(wèn)和操作的資源,包括總線、內(nèi)存以及外設(shè)等,具體包括但不限于多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口等。
[0098]當(dāng)多核終端中的某一個(gè)核需要操作系統(tǒng)總線頻率或核電壓、RF資源、公共I2C總線等公共資源時(shí),都會(huì)影響其它核的性能,所以當(dāng)任何一個(gè)核動(dòng)態(tài)操作公共資源時(shí)都需要結(jié)合對(duì)方參數(shù)和要求進(jìn)行調(diào)整,此外,還需要避免雙方同時(shí)操作資源造成的沖突問(wèn)題。
[0099]本實(shí)施例利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用,以保證各核能正常使用共享資源。
[0100]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,該共享互斥寄存器為32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。
[0101]當(dāng)多核終端中的其中一核需要共享資源時(shí),通過(guò)狀態(tài)位讀取模塊201讀取共享互斥寄存器的狀態(tài)位,以便資源共享模塊202根據(jù)該共享互斥寄存器的狀態(tài)位設(shè)置相應(yīng)的參數(shù)。
[0102]資源共享模塊202首先判斷所述共享互斥寄存器的狀態(tài)位是否空閑,當(dāng)所述共享互斥寄存器的狀態(tài)位未空閑時(shí),表示對(duì)方核對(duì)共享資源具有控制權(quán),當(dāng)前核無(wú)法使用資源;當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),則可以依賴(lài)該共享互斥寄存器存放的信息調(diào)節(jié)相應(yīng)的參數(shù),以實(shí)現(xiàn)資源共享。其中,在設(shè)置參數(shù)時(shí),需要將共享互斥寄存器的狀態(tài)位設(shè)置為非空閑狀態(tài),當(dāng)資源共享完畢后,需要將共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
[0103]下面以多核調(diào)頻調(diào)壓、RF公共資源、I2C總線為例對(duì)本實(shí)施例基于多核終端實(shí)現(xiàn)資源共享的方案進(jìn)行詳細(xì)闡述:
[0104]實(shí)例一、對(duì)于多核動(dòng)態(tài)調(diào)頻調(diào)壓的應(yīng)用場(chǎng)景:
[0105]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,以利用該共享互斥寄存器實(shí)現(xiàn)多核共享公共資源。
[0106]該共享互斥寄存器為32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核進(jìn)行調(diào)頻調(diào)壓時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取的共享互斥寄存器的最低位為空閑時(shí),則可以進(jìn)行相應(yīng)的頻率和核電壓設(shè)置,否則,需要等待該共孚互斥寄存器的最低位空閑為止。
[0107]當(dāng)然,在具體進(jìn)行頻率,電壓等設(shè)置時(shí),需要依賴(lài)該共享互斥寄存器存放的信息作為調(diào)頻調(diào)壓的條件,才能最終進(jìn)行調(diào)頻調(diào)壓的設(shè)置,當(dāng)調(diào)頻調(diào)壓完成后,需要置該共享互斥寄存器的最低位為0,釋放控制權(quán),則對(duì)方可以使用。
[0108]具體地,設(shè)定多核終端中的兩核分別為第一核和第二核,多核共享架構(gòu)動(dòng)態(tài)調(diào)核時(shí)鐘和電壓的實(shí)現(xiàn)流程如下:
[0109]I)、當(dāng)?shù)谝缓烁鶕?jù)CPU負(fù)載或者應(yīng)用場(chǎng)景方式等需要進(jìn)行調(diào)頻時(shí),會(huì)先讀取該共孕互斥寄存器最低位bit [O],當(dāng)讀到bit [O]為O時(shí),表不該共孕互斥寄存器空閑,目如可以使用;否則無(wú)法使用該共享互斥寄存器;
[0110]2)、當(dāng)讀到bit[0]位為空閑后,硬件會(huì)自動(dòng)將該位置I,表示現(xiàn)在該共享互斥寄存器已使用,此時(shí)禁止其它用戶(hù)改寫(xiě)該共享互斥寄存器;
[0111]3)讀取該共享互斥寄存器中bit [3-1],讀出該第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率比較,根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及第一核的當(dāng)前頻率;
[0112]如果預(yù)調(diào)核頻率大于該第一核當(dāng)前頻率,則走升頻流程;否則,退出整個(gè)升頻流程;走降頻流程。[0113]在升頻流程中,讀取該共享互斥寄存器中的bit[5_4],獲取當(dāng)前核電壓,以預(yù)調(diào)核電壓和當(dāng)前核電壓作比較,如果預(yù)調(diào)核電壓大于當(dāng)前核電壓,則走升壓流程,否則退出升壓流程。
[0114]當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),讀取該共享互斥寄存器的bit[7_6],獲取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;然后設(shè)置所述第一核的當(dāng)前頻率。
[0115]在降頻流程中,所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率,首先設(shè)置所述第一核的當(dāng)前頻率;然后從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器的bit [7-6]讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
[0116]最后,將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器中對(duì)應(yīng)位bit [5-4]、bit [3-1]、bit [9-8]。
[0117]此時(shí),系統(tǒng)將該共享互斥寄存器bit [O]置為0,讓出控制權(quán)。
[0118]對(duì)應(yīng)多核共享架構(gòu)動(dòng)態(tài)調(diào)節(jié)系統(tǒng)總線頻率的實(shí)現(xiàn)流程如下:
[0119]I)、當(dāng)?shù)谝缓烁鶕?jù)CPU負(fù)載或者應(yīng)用場(chǎng)景方式等需要進(jìn)行調(diào)總線頻率時(shí),會(huì)先讀該共孕互斥寄存器最低位bit[0],當(dāng)讀到為O時(shí),表不該共孕互斥寄存器空閑,目如可以使用;否則無(wú)法使用該共享互斥寄存器。
[0120]2)、當(dāng)讀到bit[0]位為空閑后,硬件會(huì)自動(dòng)將該位置I,表示現(xiàn)在該共享互斥寄存器已使用,此時(shí)禁止其它用戶(hù)改寫(xiě)該寄存器;
[0121]3)、以動(dòng)態(tài)降低系統(tǒng)總線頻率為例,根據(jù)調(diào)頻策略需要降頻時(shí),此時(shí)會(huì)讀取該共享互斥寄存器中bit[13-ll],讀出系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率;
[0122]讀取該共享互斥寄存器的bit [16-14],獲取第二核允許的最低系統(tǒng)總線頻率,取MAX(預(yù)調(diào)核頻率、系統(tǒng)當(dāng)前總線頻率、第二核允許的最低總線頻率),設(shè)置系統(tǒng)當(dāng)前總線頻率。
[0123]將當(dāng)前系統(tǒng)總線頻率和當(dāng)前第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)到該共享互斥寄存器中bit [13-11]和bit [19-17];之后,系統(tǒng)將該共享互斥寄存器bit [O]置為0,讓出控制權(quán)。
[0124]實(shí)例二、對(duì)應(yīng)多核使用RF公共資源的應(yīng)用場(chǎng)景:
[0125]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,以利用該共享互斥寄存器實(shí)現(xiàn)多核共享資源,該共享互斥寄存器是32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核需要操作RF資源時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取的共享互斥寄存器最低位為空閑時(shí),則可以進(jìn)行相應(yīng)的RF資源設(shè)操作和設(shè)置,否則,需要等待該位空閑為止。當(dāng)然,具體進(jìn)行RF資源操作時(shí),需要依賴(lài)該共享互斥寄存器存放的信息作為是否能操作RF的條件,才能最終進(jìn)行真正的RF的設(shè)置,當(dāng)操作完成后,需要置該該共享互斥寄存器最低位為0,釋放控制權(quán),則對(duì)方可以使用。
[0126]具體地,多核共享RF公共資源使用的實(shí)現(xiàn)流程如下:
[0127]I)、當(dāng)任何一個(gè)核在睡眠前去操作公共資源進(jìn)入省電狀態(tài)時(shí),必須先讀RF互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)去讀RF互斥共享寄存器中對(duì)方核RF公共資源狀態(tài)bit [I],如果為O,此時(shí)對(duì)應(yīng)將RF公共資源置為省電狀態(tài),然后將當(dāng)前狀態(tài)置到RF互斥共享寄存器對(duì)應(yīng)位中,最后配置RF互斥共享寄存器狀態(tài)位bit [O]為O,釋放控制權(quán);
[0128]2)、當(dāng)任何一個(gè)核在喚醒時(shí)需要必須先讀RF互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)去讀RF互斥共享寄存器中對(duì)方核RF公共資源狀態(tài)bit [I],如果為0,此時(shí)對(duì)應(yīng)將RF公共資源置為恢復(fù)到工作狀態(tài),然后將當(dāng)前狀態(tài)置到RF互斥共享寄存器對(duì)應(yīng)位中,最后配置RF互斥共享寄存器狀態(tài)位bit [O]為0,釋放控制權(quán)。
[0129]實(shí)例三、對(duì)應(yīng)多核使用公共I2C總線資源的應(yīng)用場(chǎng)景:
[0130]首先需要設(shè)計(jì)一個(gè)由頂層的共享互斥寄存器,利用該共享互斥寄存器,該寄存器是32位寄存器,最低位表示狀態(tài)位,其它31位可以給雙核各自使用。當(dāng)其中某一核需要操作公共I2C資源時(shí),首先會(huì)讀取該共享互斥寄存器最低位,當(dāng)讀取為空閑時(shí),則可以使用該公共I2C總線,否則,需要等待該位空閑為止。當(dāng)操作完成后,需要置該該共享互斥寄存器最低位為O,釋放控制權(quán),則對(duì)方可以使用。
[0131]具體地,多核公共I2C總線資源使用的實(shí)現(xiàn)流程如下:
[0132]I)、當(dāng)任何一個(gè)核去操作公共I2C總線資源,必須先讀I2C總線互斥共享寄存器狀態(tài)位,必須一直等到bit [O]為0,此時(shí)才能去操作該I2C總線資源;否則如果bit [O] —直為I,則不能操作該I2C總線;
[0133]2)、當(dāng)任何一個(gè)核操作完該I2C總線,必須設(shè)置I2C總線互斥共享寄存器狀態(tài)位bit[0]為1,釋放控制權(quán),這樣其它核才能使用該公共資源。
[0134]本實(shí)施例通過(guò)上述方案,能夠解決對(duì)多核共享架構(gòu)/共享資源的分配和使用,不但能實(shí)際解決公共資源UART串口、RF資源等的使用,同時(shí)能解決多核DVFS調(diào)頻調(diào)壓實(shí)現(xiàn)方案,從而提高了終端的整體性能,其效果顯著。比如解決多核共享架構(gòu)進(jìn)行動(dòng)態(tài)調(diào)頻調(diào)壓,可以比較明顯的改善系統(tǒng)的待機(jī)、通話、上網(wǎng)等場(chǎng)景下的功耗,延長(zhǎng)用戶(hù)對(duì)電池使用的時(shí)間。
[0135]在其他實(shí)施例中只要是利用共享互斥寄存器來(lái)實(shí)現(xiàn)對(duì)雙核或者更多核共享架構(gòu)/共享資源的使用,均可以基于本實(shí)施例的上述方案而擴(kuò)展實(shí)施,在此不再贅述。
[0136]更為具體地,如圖3所示,所述資源共享模塊202包括:置位單元2021、讀取單元2022、設(shè)置單元2023以及更新單元2024,其中:
[0137]若設(shè)定所述多核終端包括第一核和第二核,當(dāng)所述第一核需要進(jìn)行調(diào)頻調(diào)壓時(shí),置位單元2021,用于將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài);
[0138]讀取單元2022,用于從所述共享互斥寄存器中讀取所述第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率進(jìn)行比較;
[0139]設(shè)置單元2023,用于根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率;
[0140]更新單元2024,用于將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器中對(duì)應(yīng)位中。
[0141]進(jìn)一步地,所述設(shè)置單元2023還用于當(dāng)所述預(yù)調(diào)核頻率大于所述第一核的當(dāng)前頻率時(shí),從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;設(shè)置所述第一核的當(dāng)前頻率;當(dāng)所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率時(shí),設(shè)置所述第一核的當(dāng)前頻率;從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
[0142]當(dāng)所述第一核需要調(diào)整系統(tǒng)總線頻率時(shí),所述讀取單元2022還用于從所述共享互斥寄存器中讀取系統(tǒng)當(dāng)前總線頻率、所述第二核允許的最低系統(tǒng)總線頻率;
[0143]所述設(shè)置單元2023還用于比較預(yù)調(diào)核頻率、所述系統(tǒng)當(dāng)前總線頻率以及第二核允許的最低系統(tǒng)總線頻率;取其中最大者設(shè)置為系統(tǒng)當(dāng)前總線頻率;
[0144]所述更新單元2024還用于將所述系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)入所述共享互斥寄存器中對(duì)應(yīng)位中。
[0145]當(dāng)所述多核終端共享RF公共資源時(shí),所述讀取單元2022還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)或在喚醒時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);
[0146]所述設(shè)置單元2023還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為工作狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)置為省電狀態(tài);或者,在所述多核終端中的任一核在喚醒時(shí)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為省電狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)恢復(fù)到工作狀態(tài);
[0147]所述更新單元2024還用于將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中。
[0148]所述置位單元2021還用于當(dāng)資源共享完畢后,將所述共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
[0149]本發(fā)明實(shí)施例多核終端共享資源的方法及裝置,針對(duì)目前多核的終端,存在多個(gè)共享資源時(shí),利用共享互斥寄存器來(lái)達(dá)到保護(hù)和協(xié)調(diào)共享資源的使用,在多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位;當(dāng)共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享,由此協(xié)調(diào)了各核對(duì)共享資源的分配,提高了公共資源的利用率,同時(shí)提高了終端系統(tǒng)整體性能。
[0150]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種多核終端共享資源的方法,其特征在于,包括: 當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位; 當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述共享資源至少包括以下之一:多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要進(jìn)行調(diào)頻調(diào)壓時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括: 將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài); 從所述共享互斥寄存器中讀取所述第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率進(jìn)行比較; 根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率; 將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率的步驟包括: 當(dāng)所述預(yù)調(diào)核頻率大于所述第一核的當(dāng)前頻率時(shí),從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較; 當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;設(shè)置所述第一核的當(dāng)前頻率; 當(dāng)所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率時(shí),設(shè)置所述第一核的當(dāng)前頻率;從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要調(diào)整系統(tǒng)總線頻率時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括: 將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài); 從所述共享互斥寄存器中讀取系統(tǒng)當(dāng)前總線頻率、所述第二核允許的最低系統(tǒng)總線頻率; 比較預(yù)調(diào)核頻率、所述系統(tǒng)當(dāng)前總線頻率以及第二核允許的最低系統(tǒng)總線頻率;取其中最大者設(shè)置為系統(tǒng)當(dāng)前總線頻率; 將所述系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述多核終端共享RF公共資源時(shí),所述依據(jù)共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享的步驟包括: 當(dāng)所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);若所述對(duì)應(yīng)的RF公共資源狀態(tài)為工作狀態(tài),則將所述對(duì)應(yīng)的RF公共資源狀態(tài)置為省電狀態(tài),并將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中; 當(dāng)所述多核終端中的任一核在喚醒時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài);若所述對(duì)應(yīng)的RF公共資源狀態(tài)為省電狀態(tài),則將所述對(duì)應(yīng)的RF公共資源狀態(tài)恢復(fù)到工作狀態(tài),并將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中。
7.根據(jù)權(quán)利要求3-6中任一項(xiàng)所述的方法,其特征在于,還包括: 當(dāng)資源共享完畢后,將所述共享互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
8.一種多核終端共享資源的裝置,其特征在于,包括: 狀態(tài)位讀取模塊,用于當(dāng)多核終端中的其中一核需要共享資源時(shí),讀取共享互斥寄存器的狀態(tài)位; 資源共享模塊,用于當(dāng)所述共享互斥寄存器的狀態(tài)位為空閑時(shí),依據(jù)所述共享互斥寄存器存儲(chǔ)的信息設(shè)置相應(yīng)參數(shù)進(jìn)行資源共享。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述共享資源至少包括以下之一:多核調(diào)頻調(diào)壓、RF公共資源、I2C總線以及UART串口。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述多核終端包括第一核和第二核,當(dāng)所述第一核需要進(jìn)行調(diào)頻調(diào)壓時(shí),所述資源共享模塊包括: 置位單元,用于將所述共享互斥寄存器的狀態(tài)位置為非空閑狀態(tài); 讀取單元,用于從所述共享互斥寄存器中讀取所述第一核的當(dāng)前頻率,與預(yù)調(diào)核頻率進(jìn)行比較;` 設(shè)置單元,用于根據(jù)比較結(jié)果設(shè)置當(dāng)前核電壓以及所述第一核的當(dāng)前頻率; 更新單元,用于將所述當(dāng)前核電壓、所述第一核的當(dāng)前頻率以及所述第一核允許的最小核電壓分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述設(shè)置單元還用于當(dāng)所述預(yù)調(diào)核頻率大于所述第一核的當(dāng)前頻率時(shí),從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓;設(shè)置所述第一核的當(dāng)前頻率;當(dāng)所述預(yù)調(diào)核頻率小于所述第一核的當(dāng)前頻率時(shí),設(shè)置所述第一核的當(dāng)前頻率;從所述共享互斥寄存器讀取當(dāng)前核電壓,與預(yù)調(diào)核電壓進(jìn)行比較;當(dāng)所述預(yù)調(diào)核電壓大于所述當(dāng)前核電壓時(shí),從所述共享互斥寄存器讀取所述第二核允許的核電壓;取所述預(yù)調(diào)核電壓及第二核允許的核電壓中的較大者設(shè)置為當(dāng)前核電壓。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,當(dāng)所述第一核需要調(diào)整系統(tǒng)總線頻率時(shí),所述讀取單元,還用于從所述共享互斥寄存器中讀取系統(tǒng)當(dāng)前總線頻率、所述第二核允許的最低系統(tǒng)總線頻率; 所述設(shè)置單元,還用于比較預(yù)調(diào)核頻率、所述系統(tǒng)當(dāng)前總線頻率以及第二核允許的最低系統(tǒng)總線頻率;取其中最大者設(shè)置為系統(tǒng)當(dāng)前總線頻率; 所述更新單元,還用于將所述系統(tǒng)當(dāng)前總線頻率、第二核允許的最低系統(tǒng)總線頻率分別寫(xiě)入所述共享互斥寄存器對(duì)應(yīng)位中。
13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,當(dāng)所述多核終端共享RF公共資源時(shí), 所述讀取單元,還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)或在喚醒時(shí),從所述共享互斥寄存器中讀取對(duì)應(yīng)的RF公共資源狀態(tài); 所述設(shè)置單元,還用于在所述多核終端中的任一核欲進(jìn)入睡眠狀態(tài)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為工作狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)置為省電狀態(tài);或者,在所述多核終端中的任一核在喚醒時(shí)且所述對(duì)應(yīng)的RF公共資源狀態(tài)為省電狀態(tài)時(shí),將所述對(duì)應(yīng)的RF公共資源狀態(tài)恢復(fù)到工作狀態(tài); 所述更新單元,還用于將所述RF公共資源的當(dāng)前狀態(tài)寫(xiě)入所述互斥共享寄存器對(duì)應(yīng)位中。
14.根據(jù)權(quán)利要求10-13中任一項(xiàng)所述的裝置,其特征在于,所述置位單元還用于當(dāng)資源共享完畢后,將所述共享`互斥寄存器的狀態(tài)位回位成空閑狀態(tài)。
【文檔編號(hào)】G06F9/50GK103778014SQ201210413307
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2012年10月25日 優(yōu)先權(quán)日:2012年10月25日
【發(fā)明者】張映俊, 丁克忠, 吳敏鋒 申請(qǐng)人:中興通訊股份有限公司