半導體裝置的操作方法和半導體系統與流程
2024-03-30 23:56:05 1

技術領域
本發明構思涉及一種半導體裝置的操作方法和半導體系統。
背景技術:
在計算機編程中,原始碼是包括用程式語言(源語言)編寫的指令的電腦程式或軟體的文本文件版本。編譯器是將原始碼變換為另一計算機語言(目標語言)的目標代碼的電腦程式。例如,目標代碼典型地具有被稱為對象代碼的二進位形式。在編譯器理論中,循環優化是通過減少與循環有關的開銷從而增加執行速度的處理。因此,任何循環或迭代需要被優化以減少通過編譯原始碼而生成的目標代碼的執行時間。例如,可將基於遞推鏈(CR)的循環簡化技術應用在目標代碼內以簡化循環,並可因此減少目標代碼的執行時間。然而,在特定環境下可能不能應用這項技術。因此,需要不基於CR的優化循環的技術。
技術實現要素:
發明構思的示例性實施例提供一種半導體裝置的操作方法、計算機可讀記錄介質和半導體系統,即使當循環的迭代次數被除在循環中的歸納變量之外的變量影響時,其也能夠優化循環。
根據本發明構思的一個示例性實施例,提供一種半導體裝置的操作方法,包括:從由編譯器生成的原始中間表示(IR)搜索循環代碼;確定循環代碼是否滿足預定條件;當確定循環代碼滿足所述預定條件時,使用與編譯器分離的解釋器計算循環代碼;將計算循環代碼的結果存儲到解釋器的解釋器框架中;使用用於訪問所述結果的訪問代碼替代原始IR中的循環代碼以生成更新的IR。
根據本發明構思的一個示例性實施例,提供一種半導體裝置的操作方法,包括:編譯器編譯原始碼以生成中間表示(IR);在原始IR中搜索循環代碼;生成擴展IR(EIR)代碼,其中,EIR代碼與包括在循環代碼中的IR代碼對應並且包括與IR代碼的算符對應的擴展算符,與編譯器分離的解釋器通過執行擴展算符來計算EIR代碼,使用用於訪問計算EIR代碼的結果的訪問代碼替代原始IR中的循環代碼,以生成更新的IR;編譯器編譯更新的IR。
根據本發明構思的一個示例性實施例,提供一種半導體裝置的操作方法,包括:通過使用編譯器執行第一編譯,生成包括關於虛擬寄存器的虛擬寄存器信息的原始中間表示(IR),在原始IR中搜索循環代碼,生成擴展IR(EIR)代碼,其中,EIR代碼與包括在循環代碼中的IR代碼對應且包括關於與虛擬寄存器獨立地被分配至存儲器的解釋器框架的解釋器框架信息;使用訪問解釋器框架並且與編譯器分離地執行的解釋器計算EIR代碼;將作為計算EIR代碼的結果的結果值存儲到解釋器框架中;使用用於訪問所述結果值的訪問代碼替代原始IR中的循環代碼,以生成更新的IR;使用編譯器對更新的IR執行第二編譯。
根據本發明構思的一個示例性實施例,提供一種包括指令的計算機可讀記錄介質,所述指令使處理器:從由編譯器生成的中間表示(IR)搜索循環代碼;確定循環代碼是否滿足預定的條件的集合,生成與編譯器分離地計算循環代碼的解釋器架構和解釋器框架,其中,解釋器架構包括計算循環代碼的解釋器,解釋器框架用於存儲從循環代碼的計算獲得的中間值;使用解釋器計算循環代碼,將作為計算循環代碼的結果的結果值存儲到解釋器框架中,並使用用於訪問結果值的訪問代碼替代IR中的循環代碼。
根據本發明構思的一個示例性實施例,提供一種半導體系統,包括:編譯器,用於從原始碼生成原始中間表示(IR);解釋器,用於接收擴展IR(EIR)代碼,其中,EIR代碼與包括在原始IR中的循環代碼中的IR代碼對應,並且使用與IR代碼的算符對應的擴展算符,其中,解釋器通過執行EIR代碼來計算循環代碼,並使用用於訪問計算循環代碼的結果的訪問代碼替代原始IR中的循環代碼。
根據本發明構思的一個示例性實施例,提供一種優化電腦程式的方法,包括:將原始碼編譯為原始中間表示(IR);確定原始IR中的循環代碼是否滿足條件;當所述確定的步驟確定循環代碼滿足所述條件時,執行循環代碼以生成結果值,使用用於訪問所述結果值的訪問代碼替代原始IR中的循環代碼以生成更新的IR,並將更新的IR編譯為目標代碼;當循環代碼不滿足所述條件時,將原始IR編譯為目標代碼。
附圖說明
從下面結合附圖的具體實施方式中,發明構思的示例性實施例將被更加清楚地理解。
圖1是示出根據發明構思的示例性實施例的半導體裝置的操作方法的示意圖。
圖2是示出根據發明構思的示例性實施例的解釋器架構的示意圖。
圖3是示出根據發明構思的示例性實施例的擴展中間表示(EIR)代碼的示意圖。
圖4至圖11是示出根據發明構思的示例性實施例的操作方法的示意圖。
圖12是示出根據發明構思的示例性實施例的操作方法的流程圖。
圖13是示出根據發明構思的示例性實施例的半導體裝置的操作方法的流程圖。
圖14是可適用根據發明構思的示例性實施例的半導體裝置的操作方法和半導體系統的示例性電子系統的框圖。
圖15至圖17是示出可適用根據發明構思的示例性實施例的半導體裝置的操作方法的示例性半導體系統的示意圖。
具體實施方式
圖1是示出根據發明構思的示例性實施例的半導體裝置的操作方法的示意圖。
參照圖1,半導體系統1接收原始碼並輸出目標代碼,並且半導體系統1包括前端50、解釋器架構100和後端150。在一個實施例中,半導體系統1包括一個或多個處理器和半導體存儲器。在一個實施例中,前端50、解釋器架構100和後端150是存儲在存儲器中的可由一個或多個處理器執行的電腦程式。在另一實施例中,前端50、解釋器架構100和後端150中的各個分別由多個處理器中的不同處理器實施,或者由單個處理器實施。
原始碼是用程式語言編寫的代碼。例如,原始碼可用可被編譯的語言(諸如,C語言)編寫。然而,發明構思不限於任何特定的程式語言的原始碼。
目標代碼是具有可被計算機系統執行的形式(例如,二進位形式)的代碼。例如,目標代碼可以是對象代碼或機器代碼。目標代碼根據目標平臺(例如,目標代碼將被執行的平臺)的類型可以以各種方式被表示。
前端50通過分析原始碼生成原始中間表示(IR)20。原始IR 20可是程序的內部表示或中間表示。原始IR 20與原始碼不同且可從原始碼獲得。在一個實施例中,前端50管理符號表和數據結構,其中,數據結構將原始碼中的符號表的各種符號映射為諸如位置、類型和範圍的信息。在一個實施例中,前端50管理包括用於原始碼中的每個標識符的與關於原始碼中的標識符的聲明或外觀的信息關聯的入口的數據結構,且數據結構由編譯器使用以編譯原始碼。
解釋器架構100接收由前端50生成的原始IR 20。解釋器架構100從原始IR 20搜索循環代碼,計算循環代碼的結果值,並輸出通過使用訪問結果值的訪問代碼替代循環代碼而獲得的更新的IR 22。例如,如果循環代碼重複地執行用於返回值的函數並將該值加到變量,則循環代碼的結果值可以是變量的最終值。
解釋器架構100使用解釋器110來計算或執行循環代碼。解釋器110通過執行與原始IR 20對應的擴展IR(EIR)10來計算循環代碼,且EIR 10可以是用於解釋器區域中的處理的表示,其中,解釋器區域不同於編譯器區域(諸如,前端50和後端150)。稍後將參照圖2和圖3詳細地描述EIR 10。
後端150從由前端50生成的原始IR 20或者從由解釋器架構100生成的更新的IR 22收集程序信息,並優化原始IR 20或更新的IR 22。例如,原始IR 20或者更新的IR 22的優化可包括諸如內聯展開、死碼刪除、循環變換和寄存器分配的處理。在一個實施例中,內聯擴展使用被調用的函數的函數體替代函數名(function name)。在一個實施例中,死碼刪除移除被確定為不影響程序結果的代碼。循環變換的示例包括將循環代碼分解為多個更小的循環、將更小的循環合併為單個更大的循環、將內部的循環與外部的循環進行交換、重構循環代碼以在多處理器系統上有效運行等。後端150從優化的IR 20或IR 22生成目標代碼(例如,機器代碼),並輸出目標代碼。例如,目標代碼可從更新的IR代碼22或者從原始IR代碼20生成。
圖2是示出根據發明構思的示例性實施例的解釋器架構的示意圖。
參照圖2,解釋器架構100包括解釋器110、EIR代碼列表120、解釋器框架(IF)130和映射表(MT)140。
解釋器110計算循環代碼。循環代碼被包括在由前端50生成的原始IR 20中。在一個實施例中,解釋器110解釋與原始IR 20對應的EIR 10,而不是直接解釋原始IR 20。為此,解釋器110可包括:包括擴展算符的擴展算符集合114。擴展算符是包括在原始IR 20中的代碼(例如,EIR 10的代碼或算符)。稍後將參照圖8詳細地描述擴展算符集合114。
解釋器110可接收EIR 10,具體地,可接收包括EIR代碼的EIR代碼列表120。也就是,解釋器110可接收多個EIR代碼,並可最終通過順序地執行多個EIR代碼來計算循環代碼。稍後將參照圖3詳細地描述EIR 10的結構。
解釋器110生成作為計算或執行循環代碼的結果的結果值30。結果值30可存儲到解釋器框架130中,並可被用於生成訪問代碼以替代原始IR 20的循環代碼。例如,在與解釋器框架130對應的虛擬寄存器(VR)230中,可生成訪問代碼作為存儲結果值的代碼。在一個示例性實施例中,虛擬寄存器230代表在連續的存儲器位置中邏輯上實施的一個或多個域。稍後將參照圖10詳細地描述訪問代碼。
在一個示例性實施例中,與編譯器分離地執行解釋器110。更具體地說,包括解釋器110的解釋器架構100可響應於從原始IR 20中發現可計算的循環代碼而被執行,其中,可計算的循環代碼是可被結果值替代的循環代碼。換句話說,如果沒有從原始IR 20發現可計算的循環代碼,則在編譯時間期間包含解釋器110的解釋器架構100不被執行。在一個實施例中,當解釋器不被執行時,原始IR 20直接轉到後端150。
可計算的循環代碼可以是滿足預定的條件的集合的循環代碼。在一個示例性實施例中,通過確定以下項中的至少一項來確定從原始IR 20中發現的循環代碼是否滿足預定的條件的集合:從原始IR 20中發現的循環代碼是否是最內層的循環、該循環代碼是否被設置為沒有任何分支代碼的單個基本塊、以及該循環代碼是否包括單個預編譯頭塊和單個退出塊。在一個示例性實施例中,通過確定循環代碼是否不包括任何存儲器訪問代碼(例如,訪問存儲器的指令)或者函數調用代碼(例如,調用函數的指令),來確定從原始IR 20中發現的循環代碼是否滿足預定的條件的集合。在一個示例性實施例中,如果循環代碼包括存儲器訪問代碼或函數調用代碼,則不滿足條件。
在一個示例性實施例中,解釋器110在編譯時間期間計算循環代碼。也就是,可在編譯器的前端50和後端150之間插入解釋器110。更具體地說,解釋器110可接收由前端50生成的原始IR 20,使用訪問代碼替代在原始IR20內的與循環代碼對應的IR代碼以生成更新的IR 22(替代的IR),並可因此輸出替代的IR 22。可由編譯器在後端150處理替代的IR 22。結果,可生成目標代碼。當不能執行上面描述的優化時,可由編譯器在後端150通過編譯原始IR 20來生成目標代碼。
將參照圖2在下文中描述解釋器框架130和映射表140。
解釋器框架130是解釋器110用來計算循環代碼的存儲空間。也就是,解釋器110將值寫入解釋器框架130,或者從解釋器框架130讀取值,且該值可以是用於計算EIR代碼的變量的初始值、中間值(用於在計算期間使用)和最終值(通過計算獲得的)。
解釋器框架130與由編譯器使用的虛擬寄存器230區分開來。在一個示例性實施例中,解釋器框架130與虛擬寄存器被獨立地分配至存儲器。例如,存儲器可包括代表虛擬寄存器230的第一部分和代表解釋器框架130的與第一部分不同的第二部分。如果IR代碼包括虛擬寄存器信息,則與IR代碼對應的EIR代碼可包括關於被分配以與在IR代碼中使用的虛擬寄存器對應的解釋器框架的解釋器框架信息。
解釋器框架130可包括多個單位框架,且單位框架可具有預定大小。在一個示例性實施例中,單位框架具有4位元組大小,但發明構思不限於此。
如果單位框架的大小是4位元組且將被解釋器110處理的操作數的大小是8或16位元組,則多個連續的單位框架可被匹配給單個值或者單個虛擬寄存器。例如,如果解釋器框架110包括互相連續的第一單位框架和第二單位框架,則第一單位框架和第二單位框架可被匹配給單個值或者單個虛擬寄存器。
映射表140存儲解釋器框架130與虛擬寄存器230之間的映射關係。稍後將參照圖7詳細地描述映射表140的結構。在一個示例性實施例中,映射表140被存儲到存儲器空間或可被解釋器110訪問的存儲空間中。
圖3是示出根據發明構思的示例性實施例的EIR代碼的示意圖。
圖3示出原始IR 20和EIR 10兩者的實施例。
原始IR 20由編譯器在前端50生成且包括具有算符(OPR)24和虛擬寄存器信息(或者虛擬寄存器編號(VRN))26的IR代碼。編譯器使用虛擬寄存器230來處理用於計算原始IR 20的變量的初始值、中間值(用於在計算期間使用)和最終值(通過計算獲得的)。
EIR 10被生成為與原始IR 20對應,並包括具有擴展算符(EOPR)14和解釋器框架信息(或者解釋器框架編號(IFN))16的EIR代碼。解釋器110使用解釋器框架(IF)130來處理用於計算EIR 10的變量的初始值、中間值(用於在計算期間使用)和最終值(通過計算獲得的)。
在一個示例性實施例中,EIR 10包括原始IR 20的原始版本。也就是,EIR 10可包括IR 12。
如上面參照圖2描述的,可由映射表140管理虛擬寄存器230與解釋器框架130之間的映射關係。
圖4至圖11是示出根據發明構思的示例性實施例的操作方法的示意圖。
圖4以C語言形式示出將通過根據圖1的示例性實施例的操作方法處理的原始碼300。
參照圖4,原始碼初始化整數類型變量m和n,原始碼包括作為循環代碼的「while」語句,且包括返回變量n的值的代碼。變量m可以是歸納變量,而變量n可以是局部變量。歸納變量可以是在循環的每次迭代增加或減少固定量的變量。
值得注意的是,「while」語句包括循環條件「m<n」,變量m是值在「while」循環中增加的歸納變量,且變量n的值在「while」循環中變量m的影響下變化。也就是,圖4的原始碼包括歸納變量m和非歸納變量n,「while」循環的迭代次數不僅受歸納變量m的影響,也受非歸納變量n的影響。換句話說,「while」循環的迭代次數由歸納變量m和非歸納變量n兩者來確定。
基於遞歸鏈(CR)的循環簡化方法不能應用於循環代碼的迭代次數受除歸納變量之外的變量所影響的情況。例如,基於遞歸鏈(CR)的循環簡化方法不能應用於圖4中描述的循環代碼。然而,根據發明構思的一個實施例,即使當循環代碼的迭代次數被除在循環代碼中的歸納變量之外的變量所影響時,也可通過使用結果值替代循環代碼而有效地減少與循環對應的目標代碼的執行時間。
圖5示出可包括通過編譯圖4的原始碼而獲得的原始IR 20或IR代碼的IR 310。
參照圖5,「v100」、「v101」、「v102」和「v103」指示VRN,其中,VRN代表已被分配至存儲器的虛擬寄存器230,「Mul」(例如,乘法算符)、「Sub」(例如,減法算符)、「Add」(例如,加法算符)和「BLT」(例如,小於分支(branch on less than)算符)代表在原始IR 20中使用的算符。
通常,一旦由前端50生成原始IR 20的代碼,則後端150將虛擬寄存器230映射到真實的存儲器空間,並生成最終的目標代碼。然而,在發明構思的一個示例性實施例中,從圖5的原始IR 20的代碼之中首先搜索可計算的循環代碼。然後,如果在圖5的原始IR 20的代碼之中存在可計算的循環代碼,則通過刪除可計算的循環代碼並插入訪問可計算的循環代碼的結果值的訪問代碼而獲得更新的IR 22,且更新的IR 22被傳輸到後端150。例如,循環代碼被從原始IR 20移除,並被訪問代碼替代以生成更新的IR 22。
參照圖5,以標籤「L1:」開始的循環是最內層的循環,該循環被設置為單個基本塊,並包括單個預編譯頭塊和單個退出塊。因為以標籤「L1:」開始的循環不包括存儲器訪問代碼或函數調用代碼,所以以標籤「L1:」開始的循環與可由解釋器架構100計算的可計算的循環代碼對應。在一個實施例中,當循環代碼是一個或多個外部循環內的最內部的循環時或者當循環代碼不位於另一循環之中時,循環代碼是最內層的循環。在一個實施例中,當循環代碼不包括多個分支時,循環代碼具有單個退出塊。在一個實施例中,當循環代碼分支到不多於一個標籤時,循環代碼具有單個預編譯頭塊。
因此,原始IR 20被轉變成為可由解釋器110處理的EIR 10。原始IR 20的轉變包括分配與虛擬寄存器v100、v101、v102或v103對應的解釋器框架130,以及為算符Mul、Sub、Add或BLT選擇擴展算符。
參照圖6,「F[i]」表示解釋器框架130。為了方便起見,解釋器框架130在圖6中被示出為由從0逐漸增加的索引i所代表,但是,解釋器框架130的結構不限於圖6所示的結構,而是可根據解釋器框架130的預期用途而變化。
為將圖5的原始IR 20的VRN轉變為IFN,解釋器框架F[0]、F[1]、F[2]和F[3]可被分配以分別與虛擬寄存器v100、v101、v102和v103對應。因為虛擬寄存器v104和v105未在圖5的原始IR 20中被使用,所以沒有解釋器框架針對虛擬寄存器v104和v105被分配。
參照圖7,映射表140包括VRN列和IFN列,並存儲虛擬寄存器230與解釋器框架130之間的映射關係,即,虛擬寄存器v100、v101、v102和v103與解釋器框架F[0]、F[1]、F[2]和F[3]之間的映射關係。在圖7中示出了示出虛擬寄存器230與解釋器框架130之間的映射關係的映射表140,但是示出虛擬寄存器230與解釋器框架130之間的映射關係的數據的形式不限於圖7中示出的形式,而是可以變化。
參照圖8,解釋器110包括核112和擴展算符集合114。在一個實施例中,核112是多核處理器的處理核。
核112解釋EIR 10並使用包括在EIR 10的代碼中的算符和操作數計算循環代碼。
擴展算符集合114與包括在原始IR 20中的算符對應並包括可由解釋器110計算的擴展算符。例如,原始IR 20的算符「Mul」、「Div」(例如,除法算符)、「Add」、「Sub」、「Mov」(例如,移動算符)、「Const」和「BLT」可分別與EIR 10的擴展算符「IMul」、「IDiv」、「IAdd」、「ISub」、「IMov」、「IConst」和「IBLT」對應。
在本示例性實施例中,EIR 10的算符通過它們在IR 20的各自對應的算符的名稱的前端添加字符「I」來命名,但發明構思不限於此。也就是,EIR 10的算符可以除在此闡述的方式之外的各種方式來命名。例如,EIR 10的算符可具有與它們在IR 20的各自對應的算符相同的名稱。
圖9示出可與EIR 10對應的EIR 320,其中,EIR 10依次與圖5的原始IR 20對應。
參照圖5和9,原始IR 20的VRN「v100」、「v101」、「v102」和「v103」被分別轉變為EIR 10的IFR「F[0]」、「F[1]」、「F[2]」和「F[3]」,原始IR 20的算符「Mul」、「Add」、「Sub」和「BLT」被分別轉變成為EIR 10的擴展算符「IMul」、「IAdd」、「ISub」和「IBLT」。
解釋器110計算EIR 10,從而生成原始IR 20的循環代碼的最終結果值30。
圖10示出了根據發明構思的示例性實施例的訪問代碼。
作為用於替代原始IR 20的循環代碼的代碼的訪問代碼,包括用於訪問由解釋器110獲得的結果值30的代碼。更具體地說,如果通過使用圖9的EIR 10計算原始IR 20的循環代碼而獲得的結果值30為「10000」,則解釋器110將「10000」的結果值存儲到與虛擬寄存器v103對應的解釋器框架F[3]中。
此後,循環代碼被從原始IR 20中刪除,訪問代碼330被插入到原始IR 20中。在本示例性實施例中,訪問代碼330為「v103MovConst 10000」,該訪問代碼是用於將常數值「10000」存儲到虛擬寄存器v103中的代碼,但發明構思不限於此。訪問代碼330的形式不限於圖10中示出的形式,而是可以變化。
更具體地說,如圖11的左部所示,從原始IR 20中刪除循環代碼,且如圖11的右部所示,作為替代,插入用於將結果值w2存儲到存儲器中的代碼「str w2,[x20,#60]」。
根據發明構思的一個實施例,可通過使用結果值替代循環代碼而有效地減少與循環對應的目標代碼的執行時間。此外,如上面已經提到的,即使當循環代碼的迭代次數受除歸納變量之外的變量所影響時,使用結果值替代循環代碼也是可行的。
圖12是示出根據發明構思的示例性實施例的操作方法的流程圖。
參照圖12,確定關於循環代碼是否可計算(S1201)。更具體地說,可通過確定以下項中的至少一項來確定循環代碼是否可計算:循環代碼是否是最內層的循環、循環代碼是否被設置為沒有任何分支代碼的單個基本塊、以及循環代碼是否包括單個預編譯頭塊和單個退出塊。
此後,確定循環代碼是否包括可計算的指令(S1203)。例如,可通過檢查循環代碼是否包括任何存儲器訪問代碼或函數調用代碼來執行該確定。
此後,確定包括在循環代碼中的歸納變量的初始值(S1205)。在一個示例性實施例中,確定歸納變量的初始值包括將歸納變量的初始值存儲到解釋器框架130中。
此後,初始化解釋器架構100(S1207)。在一個示例性實施例中,初始化解釋器架構100包括映射虛擬寄存器230和解釋器框架130,並將解釋器框架130初始化為任意的常數值。
此後,使用解釋器架構100的解釋器110計算(例如,解釋)循環代碼(S1209),將通過計算獲得的結果值30存儲到解釋器框架130中,並從IR 20中刪除循環代碼(S1211)。刪除循環代碼可包括使用用於訪問結果值30的訪問代碼替代原始IR 20中的循環代碼。
圖13是示出根據發明構思的示例性實施例的操作半導體裝置的方法的流程圖。
參照圖13,將EIR 10的EIR代碼添加到解釋器架構100(S1301),並確定解釋器架構100是否支持EIR代碼。如果解釋器架構100不支持EIR代碼,則輸出錯誤消息,並終止解釋器架構100的操作(S1303)。
當檢查EIR代碼而確定解釋器架構100支持它們時,將循環代碼的所有IR代碼添加到解釋器架構100(S1305)。例如,該方法可嘗試將多個EIR代碼添加到解釋器架構100,並假設它們都被支持,然後該方法將進行到步驟S1307。
此後,初始化解釋器框架130(S1307),且確定EIR代碼是否可計算(S1309)。如果EIR代碼由於,例如,初始化失敗,而不可計算,則輸出錯誤消息,並終止解釋器架構100的操作(S1317)。
此後,使用解釋器110處理循環代碼中的每個EIR代碼(S1311),同時確定是否滿足循環代碼的退出條件(S1313)。
響應於確定滿足循環代碼的退出條件(即,循環的迭代已經完成),獲得作為計算循環代碼的結果的結果值30(S1315)。
根據發明構思的一個實施例,通過使用結果值替代循環代碼,可有效地減少與循環對應的目標代碼的執行時間。此外,如上面已經提到的,即使當循環代碼的迭代次數被除歸納變量之外的變量所影響時,使用結果值替代循環代碼也是可行的。
圖14是可適用根據發明構思的示例性實施例的半導體裝置的操作方法和半導體系統的示例性電子系統的框圖。
參照圖14,電子系統1100包括控制器1110、輸入/輸出(I/O)裝置1120、存儲裝置1130、接口1140和總線1150。控制器1110、I/O裝置1120、存儲裝置1130和/或接口1140可經由總線1150互相連接。總線1150可以是經其而傳輸數據的路徑。例如,可由控制器1110可執行前端50、解釋器架構100和後端150的功能。例如,控制器1110可執行圖12或圖13的一個或多個步驟。例如,控制器1110可被用於實施半導體裝置系統1的全部或部分。
控制器1110可包括微處理器、數位訊號處理器、微控制器和執行與微處理器、數位訊號處理器或微控制器相似的功能的邏輯元件中的至少一個。I/O裝置1120的示例包括鍵區、鍵盤、顯示裝置等。存儲裝置1130可存儲數據和/或命令。接口1140將數據傳輸到通信網絡或從通信網絡接收數據。接口1140可以是有線的或無線的接口。接口1140的示例包括天線、有線的或無線的收發機等。
儘管未特別示出,但是半導體系統1100還可包括用於提高控制器1110的操作的操作存儲器,諸如,高速動態隨機存取存儲器(DRAM)和/或靜態隨機存取存儲器(SRAM)。
半導體裝置1110可適用於個人數字助理(PDA)、可攜式計算機、網絡平板、無線電話、行動電話、數位音樂播放器、存儲卡或能夠在無線環境中傳輸和/或接收信息的任何類型的電子產品。
圖15至圖17是示出可適用根據發明構思的示例性實施例的半導體裝置的操作方法的示例性半導體系統的示意圖。
更具體地說,圖15示出平板計算機1200,圖16示出筆記本計算機1300,圖17示出智慧型電話1400。根據發明構思的示例性實施例的半導體裝置中的至少一個可在平板計算機1200、筆記本計算機1300和智慧型電話1400中被使用。
根據發明構思的示例性實施例的半導體裝置還可在除在此闡述的裝置之外的各種集成電路(IC)裝置中被使用。
也就是,根據發明構思的示例性實施例的半導體裝置(例如,1)的示例包括平板計算機1200和筆記本計算機1300,但發明構思不限於此。
根據發明構思的示例性實施例的半導體系統可被設置為計算機、超級移動個人計算機(UMPC)、工作站、上網本計算機、PDA、可攜式計算機、無線電話、行動電話、電子書、可攜式多媒體播放器(PMP)、可攜式遊戲機、導航裝置、黑盒子、數位相機、3維電視機、數字錄音機、數字音頻播放器、數字圖片記錄儀、數字圖片播放器、數字視頻錄像機或數字視頻播放器。
可將上面描述的方法存儲到作為可保持並存儲由指令執行裝置使用的指令的有形裝置的計算機可讀存儲介質中。計算機可讀存儲介質可以是,例如,但不限於,電存儲裝置、磁存儲裝置、光存儲裝置、電磁存儲裝置、半導體存儲裝置或前述內容的任何適當的組合。計算機可讀存儲介質的更具體的示例的非詳盡列表包括以下項:可攜式計算機軟磁碟、硬碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或快閃記憶體)、靜態隨機存取存儲器(SRAM)、可攜式緻密盤只讀存儲器(CD-ROM)、數字多功能盤(DVD)、記憶棒、軟盤、機械編碼裝置(諸如,穿孔卡或在具有記錄在其上的指令的凹槽中的凸起結構)和前述內容的任何適當的組合。
前述內容是發明構思的示例性實施例的示例,且不被解釋為限制於此。儘管已描述了一些示例性實施例,但是本領域技術人員將容易地理解,在實質上不脫離本發明構思的情況下,在示例實施例中進行許多修改。因此,所有這樣的修改意在被包括在本發明構思的範圍內。