亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

程序碼生成支持裝置及方法、程序執(zhí)行裝置及方法、程序碼壓縮裝置及方法及其程序的制作方法

文檔序號(hào):6468664閱讀:145來源:國知局
專利名稱:程序碼生成支持裝置及方法、程序執(zhí)行裝置及方法、程序碼壓縮裝置及方法及其程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及支持生成程序碼的程序碼生成支持裝置等。特別是, 涉及與執(zhí)行處理該程序碼的裝置等相匹配地對(duì)程序碼執(zhí)行最優(yōu)化。而 且,涉及基于程序碼進(jìn)行執(zhí)行處理的程序執(zhí)行裝置、方法等,以及用 于實(shí)現(xiàn)該裝置、方法的程序碼壓縮方法、裝置等。
背景技術(shù)
在家電設(shè)備(空調(diào)、電冰箱、洗衣機(jī)、照明燈裝置等)等中,為了 控制其操作,安裝有程序執(zhí)行裝置(以下,這種家電設(shè)備、家電設(shè)備適 配器等稱為插入設(shè)備(incorporating apparatus))。這里,為了使程 序執(zhí)行裝置進(jìn)行執(zhí)行處理,需要預(yù)定的、被稱為程序碼的數(shù)據(jù)。該程 序碼預(yù)先存儲(chǔ)在設(shè)置在插入設(shè)備內(nèi)的ROM (Read Only Memory:只 讀存儲(chǔ)器)等存儲(chǔ)單元內(nèi),程序執(zhí)行裝置讀取(輸入)存儲(chǔ)在ROM內(nèi)的 程序碼來進(jìn)行執(zhí)行處理。這樣,就提出了用于支持生成這種程序碼的 裝置(例如請(qǐng)參見專利文獻(xiàn)1)。
另外,存在這樣一種程序執(zhí)行裝置(例如,請(qǐng)參見專利文獻(xiàn)2): 對(duì)程序碼執(zhí)行壓縮處理,以減少應(yīng)存儲(chǔ)的數(shù)據(jù)量,通過盡量減少ROM 等存儲(chǔ)單元的存儲(chǔ)容量,從而降低有關(guān)存儲(chǔ)單元的成本。如此,今后, 減少程序碼的數(shù)據(jù)量這一點(diǎn)在插入設(shè)備經(jīng)由網(wǎng)絡(luò)而相互連接、收發(fā)例如包含程序碼數(shù)據(jù)的信號(hào)這樣的情況下,都很方便。
專利文獻(xiàn)l:特開平9-16382號(hào)公報(bào) 專利文獻(xiàn)2:特開2002 - 318696號(hào)〃>報(bào)

發(fā)明內(nèi)容
發(fā)明要解決的問題
這里,使用程序碼的環(huán)境沒有必要完全一樣,例如,由于隨著插 入設(shè)備(特別是程序執(zhí)行裝置)的不同而有很大不同,因此,我們期望 生成與插入設(shè)備的特性等相吻合的程序碼。特別是,若能使有關(guān)程序 碼的數(shù)據(jù)量盡可能少,則在程序執(zhí)行裝置中,可使ROM或用于在進(jìn) 行執(zhí)行處理時(shí)暫時(shí)進(jìn)行存儲(chǔ)的緩沖區(qū)的存儲(chǔ)容量減少與上述減少的 數(shù)據(jù)量相應(yīng)的量。而且今后在插入設(shè)備經(jīng)由網(wǎng)絡(luò)相互連接、收發(fā)例如 包含程序碼的信號(hào)這樣的情況下也很方便。但是,在上述這種支持裝 置中,僅僅生成程序碼。
通常,若程序碼被壓縮,則程序執(zhí)行裝置的執(zhí)行處理速度會(huì)降低。 因此,釆用在由RAM (Randam Access Memory:隨機(jī)存取存儲(chǔ)器) 等構(gòu)成的暫時(shí)性存儲(chǔ)單元(緩沖器)內(nèi)累積擴(kuò)展的程序碼的方法。為此, 需要RAM的容量很大。
因此,本發(fā)明的目的在于能夠進(jìn)一步最優(yōu)化程序碼從而生成新的 程序碼、特別是依據(jù)插入設(shè)備來生成程序碼的程序碼生成支持裝置、 方法等。另外,本發(fā)明的目的還在于,利用壓縮的程序碼來降低ROM 的存儲(chǔ)容量,同時(shí)防止降低程序執(zhí)行裝置的執(zhí)行處理速度,并且實(shí)現(xiàn) 能夠降低應(yīng)具備的緩沖器存儲(chǔ)容量的程序執(zhí)行裝置、方法等。另外, 本發(fā)明的目的還在于實(shí)現(xiàn)用于實(shí)現(xiàn)該裝置、該方法的程序碼壓縮方 法、裝置等。
用于解決問題的手段
有關(guān)本發(fā)明的程序碼生成支持裝置具有存儲(chǔ)單元,將用于變換 程序碼數(shù)據(jù)的變換條件和由變換內(nèi)容構(gòu)成的最優(yōu)化規(guī)則作為數(shù)據(jù)進(jìn) 行存儲(chǔ);以及代碼最優(yōu)化單元,具有分析所述程序碼的代碼分析部;條件檢索部,基于分析后的所述程序碼,與所述存儲(chǔ)單元內(nèi)存儲(chǔ)的所 述最優(yōu)化規(guī)則進(jìn)行核對(duì),檢索所述程序碼中與所述變換條件相一致的
部分;以及,最優(yōu)化部,基于所述變換內(nèi)容,對(duì)與所述變換條件相一 致的部分進(jìn)行變換并生成新的程序碼數(shù)據(jù)。
有關(guān)本發(fā)明的程序執(zhí)行裝置具有第l存儲(chǔ)單元,用于存儲(chǔ)對(duì)由 執(zhí)行碼構(gòu)成的程序碼執(zhí)行壓縮后的數(shù)據(jù),其中所述執(zhí)行碼由在執(zhí)行處
2存儲(chǔ)單元,'用于暫時(shí)存儲(chǔ)所述處理數(shù)據(jù)r種類判定單元,每從所述
第l存儲(chǔ)單元讀取了規(guī)定數(shù)據(jù)量的對(duì)程序碼執(zhí)行壓縮后的數(shù)據(jù),就判 定是否是包含所述命令的數(shù)據(jù),在判定為是不包含所述命令的數(shù)據(jù) 時(shí),使該數(shù)據(jù)內(nèi)的所述處理數(shù)據(jù)存儲(chǔ)在所述第2存儲(chǔ)單元內(nèi);代碼擴(kuò) 展單元,在所述種類判定單元判定為是包含所述命令的數(shù)據(jù)時(shí),根據(jù) 存儲(chǔ)在所述第2存儲(chǔ)單元內(nèi)的所述處理數(shù)據(jù)和命令來生成所述執(zhí)行 碼;以及,執(zhí)行單元,基于該代碼擴(kuò)展單元生成的執(zhí)行碼,逐次執(zhí)行 所述程序碼的執(zhí)行處理。 發(fā)明效果
根據(jù)本發(fā)明,由于代碼最優(yōu)化單元針對(duì)程序碼,由代碼分析部執(zhí) 行分析,條件檢索部基于最優(yōu)化規(guī)則來檢索是否存在與條件一致的部 分,進(jìn)而最優(yōu)化部在執(zhí)行了用于進(jìn)行最優(yōu)化的變換后生成新執(zhí)行碼(程 序碼),所以能夠執(zhí)行最優(yōu)化,使得插入設(shè)備具有的程序執(zhí)行裝置容易 進(jìn)行執(zhí)行處理等。特別是,通過匯總(賣(i:&"C)基于同一命令的執(zhí)行 碼連續(xù)的部分來產(chǎn)生新的執(zhí)行碼,能夠降低程序碼整體的數(shù)據(jù)量,另 外,在執(zhí)行處理中,也通過一次匯總執(zhí)行能夠加快處理速度,
根據(jù)本發(fā)明,從第l存儲(chǔ)單元中讀取規(guī)定數(shù)據(jù)量的對(duì)程序碼進(jìn)行 壓縮(編碼)后的數(shù)據(jù),若代碼種類判定單元判定為是不包含命令的數(shù) 據(jù),則將處理數(shù)據(jù)暫時(shí)存儲(chǔ)在第2存儲(chǔ)單元內(nèi),若判定為是命令,則 代碼擴(kuò)展單元基于處理數(shù)據(jù)和命令來生成執(zhí)行碼,并且執(zhí)行單元基于 該執(zhí)行碼來進(jìn)行執(zhí)行處理,因此,第2存儲(chǔ)單元可以在生成執(zhí)行碼之 前僅僅存儲(chǔ)處理數(shù)據(jù),由此,能夠減少第2存儲(chǔ)單元應(yīng)當(dāng)設(shè)置的存儲(chǔ)容量。由于從程序執(zhí)行裝置自第l存儲(chǔ)單元讀取數(shù)據(jù)開始到執(zhí)行碼的 執(zhí)行處理為止的全體處理都很簡(jiǎn)單,因此,即便沒有保持所生成的執(zhí) 行碼(程序碼),也能夠防止速度的降低。


圖1圖示了程序碼生成支持裝置中心的系統(tǒng)。
圖2圖示了使標(biāo)準(zhǔn)輸入單元1顯示于顯示單元20上的畫面的例子。
圖3圖示了執(zhí)行碼的一個(gè)例子。
圖4圖示了最優(yōu)化規(guī)則的一個(gè)例子。
圖5圖示了最優(yōu)化規(guī)則的另外一個(gè)例子。
圖6圖示了有關(guān)實(shí)施方式2的程序碼生成支持裝置。
圖7圖示了顯示插入設(shè)備條件輸入單元6的畫面的例子。
圖8圖示了壓縮后的執(zhí)行數(shù)據(jù)。
圖9圖示了有關(guān)第1實(shí)施方式的程序碼壓縮處理。
圖10圖示了有關(guān)本發(fā)明實(shí)施方式2的程序執(zhí)行裝置。
圖ll是一張流程圖,表示程序執(zhí)行裝置的操作。
圖12圖示了有關(guān)實(shí)施方式3的壓縮后的執(zhí)行碼。
符號(hào)說明
1 標(biāo)準(zhǔn)輸入單元 2 代碼生成單元 3 代碼評(píng)估單元 4、 4-1代碼最優(yōu)化單元4A代碼分析部4B條件檢索部 4C、 4D最優(yōu)化部4E處理數(shù)據(jù),命令識(shí)別部 4F變換部 5 輸出單元 6 插入設(shè)備條件輸入單元 10 存儲(chǔ)單元 10A 辭典部10B 最優(yōu)化規(guī)則存儲(chǔ)部20 顯示單元 30 輸入單元 40 打印裝置50存儲(chǔ)器讀寫裝置
101 控制處理單元101A 處理數(shù)據(jù),命令識(shí)別部101B變換

102 存儲(chǔ)單元103 通信單元 121 代碼種類判定單元 122 代碼擴(kuò)展單元 123 執(zhí)行單元124 程序碼存儲(chǔ)單元125 緩沖器存儲(chǔ)單元
具體實(shí)施方式
實(shí)施方式1
圖1圖示了以有關(guān)本發(fā)明實(shí)施方式1的程序碼生成支持裝置為中 心的系統(tǒng)。程序生成支持裝置包括標(biāo)準(zhǔn)輸入單元1、代碼生成單元 2、代碼評(píng)估單元3、代碼最優(yōu)化單元4、輸出單元5、存儲(chǔ)單元IO、 顯示單元20以及輸入單元30。
圖2圖示了在顯示單元20上顯示標(biāo)準(zhǔn)輸入單元1的畫面的例子。 標(biāo)準(zhǔn)輸入單元1例如使操作員用以輸入標(biāo)準(zhǔn)的畫面顯示在顯示單元20 上,并將從輸入單元30輸入的數(shù)據(jù)作為標(biāo)準(zhǔn)進(jìn)行處理。處理過的數(shù) 據(jù)成為構(gòu)成執(zhí)行碼的處理數(shù)據(jù)。這里。ECHONET (Energy Conservation and Homecare Network, ECHONET是ECHONET聯(lián) 盟的商標(biāo)),如圖l所示,是用于執(zhí)行使家電設(shè)備之間協(xié)同工作來進(jìn)行 控制的網(wǎng)絡(luò)(通信線路)的標(biāo)準(zhǔn)。在本實(shí)施方式中,生成用于執(zhí)行利用 該標(biāo)準(zhǔn)而連接的設(shè)備、適配器等中的執(zhí)行處理的程序碼。各標(biāo)準(zhǔn)的要 素(項(xiàng)目)和處理數(shù)據(jù)的關(guān)系將在后面進(jìn)行說明。
圖3圖示了執(zhí)行碼的一個(gè)例子。代碼生成單元2基于標(biāo)準(zhǔn)輸入單 元1處理過的數(shù)據(jù)而產(chǎn)生程序碼,在圖3中,其被描述為文本數(shù)據(jù), 程序碼由l個(gè)或多個(gè)執(zhí)行碼構(gòu)成。執(zhí)行碼例如是在插入設(shè)備具有的程 序執(zhí)行裝置中按照解釋程序(interpreter)來順序進(jìn)行執(zhí)行處理時(shí)的單 位。在本實(shí)施方式中,使用Forth作為程序碼中所用的語言。Forth 是基于簡(jiǎn)單的句法分析或不需要句法分析的逆波蘭計(jì)數(shù)法(逆求一 , 》卜'記法)的語言。在本實(shí)施方式中,執(zhí)行碼包括表示程序執(zhí)行裝置 應(yīng)執(zhí)行的處理的命令數(shù)據(jù)(以下,稱為命令。在Forth中稱為word(命 令))和用于進(jìn)行基于命令的處理的數(shù)據(jù)(以下稱為處理數(shù)據(jù)),并按照處 理數(shù)據(jù)、命令的順序來記述。這里,各命令及其處理內(nèi)容的數(shù)據(jù)是預(yù) 先定義(關(guān)聯(lián))并登錄的(稱為辭典)。由此,在執(zhí)行碼內(nèi)描述的字符串等 數(shù)據(jù)中,若登錄在辭典內(nèi)的就是命令,若沒有登錄則成為處理數(shù)據(jù)。命令不僅可以預(yù)先確定,還可以在定義了命令的處理內(nèi)容之后,登錄
為辭典。就該辭典而言,在本實(shí)施方式中,設(shè)將其作為辭典部IOA存 儲(chǔ)在存儲(chǔ)單元10內(nèi)。這里,使用Forth來產(chǎn)生程序碼,但本發(fā)明能 夠應(yīng)用的程序碼并不限于此。
這里,代碼生成單元2在由位于后級(jí)的代碼評(píng)估支持單元3執(zhí)行 的處理中,在程序碼顯示于顯示單元20上時(shí),生成操作員易于進(jìn)行 評(píng)估的評(píng)估用程序碼。例如,或者生成的執(zhí)行碼的字符串長(zhǎng)度不過分 長(zhǎng),或者利用不是單獨(dú)定義的基本命令來進(jìn)行生成,從而便于跟蹤。
命令RGST一EPC被描述為用于執(zhí)行處理對(duì)插入設(shè)備的屬性信息 的登錄。對(duì)象id(obj—id)是賦予插入設(shè)備的對(duì)象的id。 ECHONET屬 性(epc)是可根據(jù)插入設(shè)備來設(shè)置的屬性(例如空調(diào)的風(fēng)量設(shè)置狀態(tài)等) 代碼。代碼的值按照ECHONET的標(biāo)準(zhǔn)來確定。作為屬性的數(shù)據(jù)類 型(type)有7種類型(若確定了插入設(shè)備和屬性,就可以自動(dòng)確定)。訪 問規(guī)則(rule)表示可否進(jìn)行寫入、讀出、通知。狀態(tài)改變時(shí)有無通告 (anno)是表示在屬性狀態(tài)發(fā)生變化時(shí),是否經(jīng)由網(wǎng)絡(luò)予以通告的指標(biāo) (標(biāo)志)。數(shù)據(jù)大小(size)用于規(guī)定屬性的數(shù)據(jù)大小,在ECHONET標(biāo)準(zhǔn) 中其最大值為8640字節(jié)。
代碼評(píng)估單元3支持操作員對(duì)代碼生成單元2或其他單元生成的 程序碼(執(zhí)行碼)的評(píng)估。例如,為了使操作員執(zhí)行對(duì)所生成的程序碼 的確認(rèn)、去包(debag)等程序碼的評(píng)估,將程序碼顯示于顯示單元20 的畫面上。程序執(zhí)行裝置具有在進(jìn)行執(zhí)行處理時(shí)使用的解釋程序,能 夠執(zhí)行處理所生成的執(zhí)行碼。由此,操作員能夠基于程序碼(執(zhí)行碼) 來確認(rèn)所執(zhí)行的執(zhí)行處理。
代碼最優(yōu)化單元4基于存儲(chǔ)在存儲(chǔ)單元10的最優(yōu)化規(guī)則存儲(chǔ)部 10B內(nèi)的最優(yōu)化規(guī)則來謀求程序碼的最優(yōu)化。代碼最優(yōu)化單元4由代 碼分析部4A、條件檢索部4B和最優(yōu)化部4C構(gòu)成。所謂最優(yōu)化規(guī)則 使變換規(guī)則數(shù)據(jù)化,所述變換規(guī)則用于使程序執(zhí)行裝置能夠更有效率 地進(jìn)行通過匯總多個(gè)執(zhí)行碼來生成新的執(zhí)行碼等基于程序碼的執(zhí)行 處理。最優(yōu)化規(guī)則在后面還會(huì)進(jìn)一步描述。代碼分析部4A分析所輸入的程序碼。這里,程序分析部4A具 有計(jì)數(shù)器,對(duì)具有相同命令、且執(zhí)行處理相同內(nèi)容的執(zhí)行碼相連續(xù)的 部分,對(duì)其連續(xù)次數(shù)執(zhí)行計(jì)數(shù)。條件檢索部4B執(zhí)行基于變換條件的 檢索。即,將分析過的程序碼和構(gòu)成最優(yōu)化規(guī)則的變換條件進(jìn)行對(duì)照, 判定是否有與變換條件相符合的部分。此時(shí),參照代碼分析部4A的 計(jì)數(shù)器。最優(yōu)化部4C對(duì)于條件檢索部4B判定為與變換條件一致的部 分,執(zhí)行用于執(zhí)行最優(yōu)化的變換,并產(chǎn)生新的執(zhí)行碼(最終為程序碼)。
這里,就代碼分析部4A、條件檢索部4B和最優(yōu)化部4C而言, 也可以分別構(gòu)成物理上獨(dú)立的單元,但在這里,通過由以CPU為中 心的控制處理裝置分別執(zhí)行各個(gè)單元的處理,來實(shí)現(xiàn)各部的處理。即 便在標(biāo)準(zhǔn)輸入單元l、代碼生成單元2、代碼評(píng)估單元3、代碼最優(yōu)化 單元4、輸出單元5的關(guān)系上,也是同樣的,也可以使各單元獨(dú)立, 但在本實(shí)施方式中,通過使控制處理裝置執(zhí)行各單元的處理來實(shí)現(xiàn)程 序碼生成支持裝置的處理。
輸出單元5執(zhí)行將程序碼變換為與對(duì)應(yīng)的輸出設(shè)備一致的格式 的數(shù)據(jù)并輸出到輸出設(shè)備處理。例如,在輸出設(shè)備為打印裝置40的 情況下,將程序碼變換為使打印裝置打印成條型碼、QR碼(2維條型 碼QR碼是DENSO WAVE公司的注冊(cè)商標(biāo))這樣的數(shù)據(jù),并對(duì)打印 媒體執(zhí)行打印處理。為此,例如,即便沒有設(shè)置插入設(shè)備專用的^貴 通信裝置,沒有直接連接到通信線路上來執(zhí)行信號(hào)的發(fā)送,也能夠使 用便攜式電話等具有的照相機(jī)、紅外線通信技術(shù)等,向插入設(shè)備發(fā)送 包含數(shù)據(jù)的信號(hào),從而存儲(chǔ)程序碼。由此,即便使用紙媒體等低價(jià)媒 體,也能夠使插入設(shè)備內(nèi)存儲(chǔ)的程序碼保持在最新狀態(tài)。例如,也可 以將存儲(chǔ)器讀寫裝置50用作輸出設(shè)備,執(zhí)行利用電子存儲(chǔ)媒體的數(shù) 據(jù)交換。另外,還可以將通信裝置作為輸出設(shè)備。須指出,在存儲(chǔ)單 元10內(nèi),除了存儲(chǔ)在辭典部10A內(nèi)的辭典、存儲(chǔ)在最優(yōu)化規(guī)則存儲(chǔ) 部10B內(nèi)的最優(yōu)化規(guī)則外,還可以存儲(chǔ)用于使各單元屏幕顯示于顯示 單元20上的數(shù)據(jù)等用于執(zhí)行程序碼生成支持的程序等。
圖4圖示了最優(yōu)化規(guī)則的一個(gè)例子。例如,如圖4(a)所示,將表示"如果程序碼被描述為多次連續(xù)執(zhí)行處理命令RGST_EPC (以 ECHONET屬性登錄為處理內(nèi)容),則置換為以一次執(zhí)行處理多個(gè) ECHONET屬性的登錄為處理內(nèi)容的命令RGST—EPCS"意圖的規(guī)則 作為最優(yōu)化規(guī)則,存儲(chǔ)在最優(yōu)化規(guī)則存儲(chǔ)部10B內(nèi)。圖4(b)中將該內(nèi) 容表示為腳本(記述)格式的數(shù)據(jù)。箭頭前的內(nèi)容表示條件檢索部4B檢 索時(shí)的變換條件,箭頭偶的內(nèi)容表示最優(yōu)化部4C執(zhí)行變換時(shí)的變換 內(nèi)容(這里,由于是多次連續(xù),因此,將n設(shè)定為大于等于2。該n由 代碼分析部4A進(jìn)行計(jì)數(shù))。在有關(guān)命令RGST—EPCS的執(zhí)行碼中,處 理數(shù)據(jù)對(duì)登錄的ECHONET屬性,重復(fù)多次地登錄對(duì)象id(obj一id)、 ECHONET屬性(epc)、數(shù)據(jù)類型(type)、狀態(tài)改變時(shí)有無通告(anno) 以及數(shù)據(jù)大小(size)的組合,從而被賦予重復(fù)執(zhí)行的次數(shù)。該命令 RGST—EPCS也被登錄到辭典部IOA內(nèi)。如此,匯總執(zhí)行碼來生成其 他執(zhí)行碼,從而減小了程序碼的數(shù)據(jù)量、實(shí)現(xiàn)了最優(yōu)化。由于匯總了 多個(gè)執(zhí)行碼來進(jìn)行執(zhí)行處理,因此,能夠提高處理速度。
圖5圖示了最優(yōu)化規(guī)則的另一個(gè)例子。例如,在圖5中將表示"將 對(duì)相同序列(l字節(jié))的不同要素的連續(xù)賦值置換為能夠匯總后賦值的 命令SET一C^ARRAY"意圖的規(guī)則作為最優(yōu)化規(guī)則,存儲(chǔ)在最優(yōu)化規(guī) 則存儲(chǔ)部10B內(nèi)。圖5(b)是將該內(nèi)容表示為腳本(記述)格式的數(shù)據(jù)的 圖。這里,char表示賦予值,c-addr是賦值對(duì)象的地址,offset表示 從起始地址開始的偏移量。附加在條件檢索部4B執(zhí)行檢索時(shí)的變換 條件和最優(yōu)化部4C執(zhí)行變換時(shí)的變換內(nèi)容的c-addr中的[表示 c-addr的內(nèi)容(字符串)是相同的。設(shè)n大于等于2,它由代碼分析部 4A進(jìn)行計(jì)數(shù)。例如,"1 BUF 0 + C!,,執(zhí)行向從地址BUF開始的第0 字節(jié)賦值1的執(zhí)行處理。在有關(guān)命令SET一C一ARRAY的執(zhí)行碼中, 通過排列n次(重復(fù)執(zhí)行的次數(shù))賦予值(char)、排列n次表示地址的 "BUF"和偏移量,而向處理數(shù)據(jù)中賦予重復(fù)執(zhí)行次數(shù)。
如上所述,根據(jù)實(shí)施方式1,針對(duì)代碼生成單元2生成的程序碼, 在代碼組優(yōu)化單元4中,代碼分析部4A執(zhí)行分析,條件檢索部4B 基于最優(yōu)化規(guī)則存儲(chǔ)部10B內(nèi)存儲(chǔ)的最優(yōu)化規(guī)則來檢索是否存在與變換條件一致的部分,最優(yōu)化部4C對(duì)于條件檢索部4B判定為與變換 條件一致的部分,執(zhí)行用于執(zhí)行最優(yōu)化的變換,并進(jìn)一步生成新的執(zhí) 行碼(程序碼),因此,能夠執(zhí)行使插入設(shè)備具有的程序執(zhí)行裝置容易 進(jìn)行執(zhí)行處理等最優(yōu)化。特別是,通過匯總基于同一命令的執(zhí)行碼連 續(xù)部分來生成新的執(zhí)行碼,能夠降低程序碼整體的數(shù)據(jù)量。即便在執(zhí) 行處理中,也會(huì)因?yàn)閳?zhí)行一次匯總,而能加快處理速度。此時(shí),通過 在代碼評(píng)估支持單元3將程序碼顯示在顯示單元20上時(shí),以操作員 容易評(píng)估的形式來產(chǎn)生與代碼生成單元2的生成有關(guān)的程序碼,能夠 使操作員容易執(zhí)行確認(rèn)、修正等。另外,由于利用輸出單元5將程序 碼變換為與輸出設(shè)備一致的格式的數(shù)據(jù),因此,能夠按照各種輸出設(shè) 備的格式來記錄程序碼。特別是,若變換為用于打印條形碼、QR碼 等的數(shù)據(jù)以便能夠打印,則能夠在低價(jià)媒體上進(jìn)行程序碼的記錄。這 樣,在向插入設(shè)備發(fā)送包含程序碼的信號(hào)時(shí),能夠使用例如便攜式電 話等通用的通信單元。
實(shí)施方式2
圖6圖示了有關(guān)本實(shí)施方式2的程序碼生成支持裝置。用于將程 序碼存儲(chǔ)(儲(chǔ)存)在插入設(shè)備內(nèi)的環(huán)境、插入設(shè)備具有的程序執(zhí)行環(huán)境 基于程序碼來進(jìn)行執(zhí)行處理的環(huán)境隨著設(shè)備種類的不同而不同,—特別 是,在程序碼生成時(shí),存儲(chǔ)(儲(chǔ)存)程序碼的ROM的存儲(chǔ)容量、執(zhí)行 處理時(shí)等的RAM(Random Access Memory:隨機(jī)存取存儲(chǔ)器)的可用 存儲(chǔ)容量成為重要的因素。因此,在本實(shí)施方式中,設(shè)置插入設(shè)備的 條件(基于程序碼的執(zhí)行處理環(huán)境),并在程序碼生成時(shí)得以反映。在 圖6中,賦予與圖1的程序碼生成支持裝置相同的標(biāo)記,由于執(zhí)行與 實(shí)施方式1中說明過的單元相同的處理操作,因此,省略其說明。
圖7圖示了使插入設(shè)備條件輸入單元6顯示在顯示裝置20上的 畫面的例子。插入設(shè)備條件輸入單元6例如將用于使操作員輸入插入 設(shè)備的特性、條件等的畫面顯示于顯示單元20上,對(duì)從輸入單元30 輸入的指示的信號(hào)執(zhí)行設(shè)置處理,并發(fā)送給代碼最優(yōu)化單元4和輸出
13單元5。在圖7中,能夠設(shè)置用于存儲(chǔ)程序碼的ROM的存儲(chǔ)容量(代 碼存儲(chǔ)容量)、RAM的可用存儲(chǔ)容量(可用RAM容量)、是否執(zhí)行程 序碼的壓縮處理(二進(jìn)制壓縮)、將程序碼輸出到打印用媒體合適輸出 到存儲(chǔ)卡等電子存儲(chǔ)媒體(輸出媒體),以及,在選擇了打印媒體的情 況下,是否變換為QR碼(QR碼是DENSO WAVE 7>司的注冊(cè)商標(biāo))(變 換為QR碼)。
本實(shí)施方式的代碼最優(yōu)化單元4-1利用最優(yōu)化部4D來代替最優(yōu) 化部4C,這一點(diǎn)與最優(yōu)化單元4不同,最優(yōu)化部4D除了執(zhí)行最優(yōu)化 部4C的處理之外,還基于在插入設(shè)備條件輸入單元6內(nèi)輸入的插入 設(shè)備的ROM和RAM的存儲(chǔ)容量來執(zhí)行判斷。在具有用于壓縮程序 碼的處理數(shù)據(jù).命令識(shí)別部4E和變換部4F這一點(diǎn)上也不同。在本實(shí) 施方式中,將處理數(shù)據(jù).命令識(shí)別部4E和變換部4F作為代碼最優(yōu)化 單元4-1的部分功能而構(gòu)成,但是,也可以作為獨(dú)立的程序碼壓縮處 理單元。
最優(yōu)化部4D對(duì)于條件檢索部4B判定為與變換條件一致的部分, 執(zhí)行用于執(zhí)行最優(yōu)化的變換,之后,生成新的執(zhí)行碼,但此時(shí),若匯 總的執(zhí)行碼變多,則處理數(shù)據(jù)的數(shù)據(jù)量就變大,存在新執(zhí)行碼的數(shù)據(jù) 量變大的可能。為此,隨著插入設(shè)備的不同,程序執(zhí)行裝置進(jìn)行執(zhí)行 處理時(shí),有可能超過暫時(shí)存儲(chǔ)執(zhí)行碼等的RAM的存儲(chǔ)容量。因此-在最優(yōu)化部4D基于經(jīng)由插入設(shè)備條件輸入單元6輸入的可用RAM 容量的數(shù)據(jù),判定出超過其容量的情況下,分別生成各執(zhí)行碼的數(shù)據(jù) 量為容量以下的多個(gè)執(zhí)行碼。在全體程序碼的數(shù)據(jù)量超越了插入設(shè)備 所具有的用于存儲(chǔ)程序碼的ROM的存儲(chǔ)容量的情況下,不管有沒有 設(shè)置,都使處理數(shù)據(jù)*命令識(shí)別部4E和變換部4F執(zhí)行壓縮處理。執(zhí) 行以上的判定等,并生成新的程序碼。
圖8圖示了壓縮過的執(zhí)行數(shù)據(jù)。接下來,基于圖3所記栽的執(zhí)行 碼來說明壓縮處理。在基于插入設(shè)備條件輸入單元6執(zhí)行的二進(jìn)制壓 縮的輸入、最優(yōu)化部4D執(zhí)行的判定來執(zhí)行壓縮處理的情況下,數(shù)據(jù)* 命令識(shí)別部4E將程序碼的各執(zhí)行碼與辭典部10A內(nèi)存儲(chǔ)的辭典相對(duì)比,將和辭典不一致的字符串、數(shù)字等設(shè)為處理數(shù)據(jù),將一致的字符 串(腳本)設(shè)為命令,由此對(duì)處理數(shù)據(jù)和命令執(zhí)行識(shí)別處理。
變換部4F將處理數(shù)據(jù)和命令分別用二進(jìn)制數(shù)據(jù)來表示。這里, 為表示對(duì)象id而分配2比特、為表示ECHONET屬性(epc)分配8比 特、為表示屬性的數(shù)據(jù)類型分配3比特、為表示訪問規(guī)則分配3比特、 為表示狀態(tài)改變時(shí)有無通告分配1比特、為表示數(shù)據(jù)大小分配14比 特。在作為二進(jìn)制數(shù)據(jù)進(jìn)行表示后,每達(dá)到規(guī)定數(shù)據(jù)量就生成數(shù)據(jù)。 在本實(shí)施方式中,將7比特設(shè)置為規(guī)定數(shù)據(jù)量。例如,在處理數(shù)據(jù)不 是按7分割的數(shù)據(jù)量的情況下,例如用"0"來補(bǔ)充剩余的比特。這樣, 對(duì)表示處理數(shù)據(jù)的數(shù)據(jù)(以下將該數(shù)據(jù)也稱為處理數(shù)據(jù)),分別對(duì)其開 頭的比特賦予"O,,,并對(duì)用于判別命令的數(shù)據(jù)(以下,將該數(shù)據(jù)也稱為 命令)賦予"l"。即,這成為用于判定是處理數(shù)據(jù)還是命令的判定用比 特(標(biāo)志)。由此,各執(zhí)行碼(程序碼)被以1字節(jié)(8比特)為單位分成各 個(gè)字節(jié)碼。如此,將已分成各項(xiàng)目(要素)的字符串的處理數(shù)據(jù)匯總處 理為二進(jìn)制數(shù)據(jù),以實(shí)現(xiàn)數(shù)據(jù)量的降低。
另 一方面,命令用與該命令——對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)來表示。由此, 能夠判定該二進(jìn)制數(shù)據(jù)所表示的命令。該命令和二進(jìn)制數(shù)據(jù)間的關(guān)系 是關(guān)聯(lián)的,并作為數(shù)據(jù)存儲(chǔ)在存儲(chǔ)單元10內(nèi),變換部4F在生成時(shí)參 照該數(shù)據(jù)。這里,若命令數(shù)在128以下,則l字節(jié)就足以用于判定命 令。例如,命令數(shù)分別為128以上等情況下,需要2字節(jié)以上,但在 這種情況下,也能夠利用l字節(jié)的代碼數(shù)據(jù)來判定在執(zhí)行處理中使用 頻度高的命令(例如屬性關(guān)聯(lián)等),因此,能夠進(jìn)一步降低程序碼整體 的數(shù)據(jù)量。還可以利用游程長(zhǎng)度方法等公知的比特串壓縮法,對(duì)利用 本實(shí)施方式的方法生成的字節(jié)單位的代碼數(shù)據(jù)執(zhí)行壓縮。
輸出單元5基于經(jīng)由插入設(shè)備條件輸入單元6輸入的輸出媒體的 數(shù)據(jù),來確定執(zhí)行變換的格式并執(zhí)行變換。此時(shí),在選擇電子存儲(chǔ)媒 體作為輸出媒體的情況下,向QR碼的變換自動(dòng)選擇"不執(zhí)行"。在選 擇打印媒體作為輸出媒體的情況下,向QR碼的變換被選擇為"執(zhí)行,,。
在插入設(shè)備具有的程序執(zhí)行裝置中,經(jīng)存儲(chǔ)媒體例如存儲(chǔ)了ROM程序碼。按1字節(jié)單位來讀取程序碼,并基于判定用比特來判 定是包含命的數(shù)據(jù)還是包含處理數(shù)據(jù)的數(shù)據(jù),在是包含處理數(shù)據(jù)的數(shù) 據(jù)的情況下,使其暫時(shí)存儲(chǔ)在RAM內(nèi)。在判定為包含命令的數(shù)據(jù)的 情況下,將其擴(kuò)展為執(zhí)行碼,并進(jìn)行執(zhí)行處理。
如上所述,根據(jù)實(shí)施方式2,由于設(shè)置了用于輸入插入設(shè)備(該插 入設(shè)備具有的程序執(zhí)行裝置)的程序碼執(zhí)行處理環(huán)境(ROM、 RAM的 存儲(chǔ)容量等)的插入設(shè)備條件輸入單元6,而且最優(yōu)化部4D還基于該 設(shè)置來生成新的程序碼,因此,能夠生成與插入i殳備的特性、條件等 相應(yīng)的更為詳細(xì)的程序碼。而且,由于具有處理數(shù)據(jù)*命令識(shí)別部4E 和變換部4F,從而能夠執(zhí)行程序碼的壓縮處理,因此,能夠?qū)崿F(xiàn)ROM 存儲(chǔ)容量的削減,能夠?qū)崿F(xiàn)低成本化。這樣,在壓縮處理中,識(shí)別各 執(zhí)行碼的處理數(shù)據(jù)和命令,處理數(shù)據(jù)匯總各要素(項(xiàng)目)后作為二進(jìn)制 數(shù)據(jù)、命令將對(duì)應(yīng)數(shù)值設(shè)為二進(jìn)制數(shù)據(jù),按照7比特來分割各數(shù)據(jù), 將用于判定是包含處理數(shù)據(jù)的數(shù)據(jù)還是包含命令的數(shù)據(jù)的判定用比 特附加到各數(shù)據(jù)內(nèi),以便將其分成1字節(jié)的數(shù)據(jù),因此,能夠分別壓 縮處理數(shù)據(jù)和命令。
實(shí)施方式3
圖9圖示了有關(guān)本發(fā)明實(shí)施方式3的程序碼壓縮處理。在圖9 上側(cè)表示了執(zhí)行碼的一個(gè)例子。這里,記述為文本數(shù)據(jù)。程序碼由1 個(gè)或多個(gè)執(zhí)行碼構(gòu)成。首先,對(duì)執(zhí)行碼進(jìn)行說明。在本實(shí)施方式中也 設(shè)定為使用Forth作為程序碼所使用的語言,它是用于執(zhí)行 ECHONET標(biāo)準(zhǔn)下的執(zhí)行處理的代碼。在本實(shí)施方式中,設(shè)在后述的 存儲(chǔ)單元102中存儲(chǔ)有辭典。
也像實(shí)施方式1所述的那樣,命令RGST_EPC被記述為用于執(zhí) 行處理插入設(shè)備屬性信息的登錄。對(duì)象id是附加給插入設(shè)備的對(duì)象的 id。為表示對(duì)象id而分配了 2比特。ECHONET屬性是可根據(jù)插入設(shè) 備的種類來設(shè)置的屬性(例如,空調(diào)中風(fēng)量設(shè)置狀態(tài)等)代碼。代碼值 是按ECHONET標(biāo)準(zhǔn)而定的,分配有8比特。另外,這里,作為屬性數(shù)據(jù)類型,準(zhǔn)備了7種,被分配以3比特。訪問規(guī)則表示可否寫入 (Set)、讀出(Get)、通知,分配有3比特。狀態(tài)改變時(shí)有無通告是表示 在屬性的狀態(tài)發(fā)生變化時(shí)是否經(jīng)由網(wǎng)絡(luò)執(zhí)行通知的指標(biāo)(標(biāo)志),并分 配有1比特。數(shù)據(jù)大小用于規(guī)定屬性的數(shù)據(jù)大小,在ECHONET標(biāo) 準(zhǔn)中,其最大值設(shè)為8640字節(jié),為表示該數(shù)值而分配了 14比特。
接下來,說明程序碼壓縮處理裝置的結(jié)構(gòu)和處理。設(shè)本實(shí)施方式 中的程序碼壓縮裝置包括控制處理單元101、存儲(chǔ)單元102、以及通 信單元103??刂铺幚韱卧?01具有處理數(shù)據(jù)*命令識(shí)別部101A和變 換部101B。在控制處理單元101中,利用數(shù)據(jù),命令識(shí)別部101A將 程序碼的各執(zhí)行碼與存儲(chǔ)單元102內(nèi)存儲(chǔ)的辭典進(jìn)行對(duì)照,將與辭典 不一致的字符串、數(shù)字等設(shè)定為處理數(shù)據(jù),將一致的字符串(腳本)設(shè) 為命令,通過這種方法對(duì)處理數(shù)據(jù)和命令執(zhí)行識(shí)別處理。這里,對(duì)于 執(zhí)行碼而言,例如,即可以基于操作員從輸入單元輸入的指示、數(shù)據(jù) 等,利用設(shè)置在控制處理單元101的數(shù)據(jù),命令識(shí)別部101A前級(jí)的程 序碼生成部(圖中未示)來生成,也可以在其他裝置中生成,對(duì)經(jīng)由通 信線路(也可以與ECHONET無關(guān))發(fā)送來的信號(hào)中包含的執(zhí)行碼進(jìn)行 處理。
變換部101B將處理數(shù)據(jù)和命令分別用二進(jìn)制形式的數(shù)據(jù)(以下, 稱為二進(jìn)制數(shù)據(jù))來表示,并每達(dá)到規(guī)定的數(shù)據(jù)量就產(chǎn)生數(shù)據(jù)。在本實(shí) 施方式中,將7比特設(shè)定為規(guī)定單位。例如,在處理數(shù)據(jù)無法用7來 分割的情況下,對(duì)殘存的比特例如補(bǔ)充"0"。這樣,對(duì)表示處理數(shù)據(jù) 的數(shù)據(jù)(以下,將該數(shù)據(jù)也稱為處理數(shù)據(jù)),分別對(duì)其起始比特附加"0", 對(duì)于用來判定命令的數(shù)據(jù)(以下,將該數(shù)據(jù)也稱為命令)附加"l"。即, 該比特成為用來判定是處理數(shù)據(jù)還是命令的判定用比特(標(biāo)志)。由此, 如圖9的下側(cè)所示,各執(zhí)行碼(程序碼)被分為以1字節(jié)(8比特)為單位 的數(shù)據(jù)(字節(jié)數(shù)據(jù))。如此,將已分成各要素(項(xiàng)目)的字符串的處理數(shù)據(jù) 匯總為字節(jié)數(shù)據(jù),并執(zhí)行編碼(encode)處理,從而實(shí)現(xiàn)數(shù)據(jù)量的降低。
另一方面,對(duì)命令而言,用二進(jìn)制數(shù)據(jù)表示與該命令一一對(duì)應(yīng)的 數(shù)值等(代碼值)。由此,能夠判定該二進(jìn)制數(shù)據(jù)表示的命令。該命令和二進(jìn)制數(shù)據(jù)的關(guān)系被相關(guān)聯(lián)地存儲(chǔ)在存儲(chǔ)單元102內(nèi),變換部101B 在生成數(shù)據(jù)時(shí)參照該數(shù)據(jù)。這里,若命令數(shù)目在128以下,則為了判 定命令,l字節(jié)就足夠了。在命令數(shù)例如為128以上等情況下則變?yōu)?需要2字節(jié)以上,但在這種情況下,對(duì)于執(zhí)行處理中使用(出現(xiàn))頻率 高的命令(例如屬性關(guān)聯(lián)等)而言,如果能夠用l字節(jié)的數(shù)據(jù)來執(zhí)行判 定,就能夠進(jìn)一步減輕有關(guān)程序碼整體的數(shù)據(jù)量。也可以利用游程長(zhǎng) 度法這種公知的比特串壓縮法,對(duì)利用根據(jù)本實(shí)施方式的方法生成的 字節(jié)數(shù)據(jù)執(zhí)行壓縮。
根據(jù)例如經(jīng)由網(wǎng)絡(luò)從插入設(shè)備端發(fā)送來的下載請(qǐng)求、或來自程序 碼壓縮處理裝置(控制處理單元101)—側(cè)的主動(dòng)配送,將如上生成的 已壓縮程序碼數(shù)據(jù)經(jīng)由通信單元103、有線或無線通信線路存儲(chǔ)到后 述實(shí)施方式4的插入設(shè)備的程序碼存儲(chǔ)單元124內(nèi)。
如上所述,根據(jù)實(shí)施方式3,對(duì)各執(zhí)行碼的處理數(shù)據(jù)和命令進(jìn)行 識(shí)別,處理數(shù)據(jù)匯總了各要素(項(xiàng)目)后作為字節(jié)數(shù)據(jù)、命令將對(duì)應(yīng)數(shù) 值設(shè)為字節(jié)數(shù)據(jù),將各數(shù)據(jù)分割成規(guī)定的單位(在本實(shí)施方式中是7 比特),將用于判定是包含處理數(shù)據(jù)的數(shù)據(jù)還是包含命令的數(shù)據(jù)的判定 用比特附加到各數(shù)據(jù)內(nèi),以將其分割成l字節(jié)數(shù)據(jù),由此,能夠?qū)μ?理數(shù)據(jù)和命令分別執(zhí)行壓縮。這樣,在進(jìn)行執(zhí)行處理時(shí),對(duì)每l字節(jié) 執(zhí)行讀取,從而能夠簡(jiǎn)單地判定該數(shù)據(jù)是包含處理數(shù)據(jù)還是包含命 令。由于通過將程序碼設(shè)為基于Forth等逆波蘭計(jì)數(shù)法的語言,按照 處理數(shù)據(jù)、命令的順序來構(gòu)成執(zhí)行碼,因此,能夠容易地識(shí)別處理數(shù) 據(jù)和命令。另外,通過將程序碼的分割單位設(shè)為1字節(jié),從而,在進(jìn) 行執(zhí)行處理時(shí),例如還能夠與單片機(jī)等這類處理裝置相對(duì)應(yīng)。這樣, 通過執(zhí)行降低包含執(zhí)行處理時(shí)使用(出現(xiàn))頻度高的命令的字節(jié)數(shù)等與 頻度相對(duì)應(yīng)的調(diào)整,能夠進(jìn)一步提高壓縮效果。
實(shí)施方式4
圖10圖示了有關(guān)本發(fā)明實(shí)施方式4的程序執(zhí)行裝置。在本實(shí)施 方式中,程序執(zhí)行裝置由代碼種類判定單元121、代碼擴(kuò)展單元122、執(zhí)行單元123、程序碼存儲(chǔ)單元124以及緩沖器存儲(chǔ)單元125構(gòu)成。 這樣,進(jìn)行基于實(shí)施方式3中生成的已壓縮程序碼的執(zhí)行處理。
代碼種類判定單元121按規(guī)定的數(shù)據(jù)量來讀取(輸入)存儲(chǔ)在程 序碼存儲(chǔ)單元124內(nèi)的壓縮(編碼)程序碼。在本實(shí)施方式中,與實(shí)施 方式3相一致,設(shè)規(guī)定數(shù)據(jù)量為1字節(jié)(8比特)。這樣,所讀取的數(shù) 據(jù)被用來判定是包含處理數(shù)據(jù)的數(shù)據(jù)(數(shù)據(jù)字節(jié)。不包含命令的數(shù)據(jù)) 還是包含命令的數(shù)據(jù)(命令字節(jié))。代碼種類判定單元121基于在實(shí)施 方式3中說明過的判定用比特(標(biāo)志)來執(zhí)行判定。之后,若判定為是 處理數(shù)據(jù),則將該處理數(shù)據(jù)存儲(chǔ)在緩沖器存儲(chǔ)單元125內(nèi),若判定為 命令,則將處理控制轉(zhuǎn)交給代碼擴(kuò)展單元122。
代碼擴(kuò)展單元122在代碼種類判定單元121判定為命令后,基于 緩沖器存儲(chǔ)單元125內(nèi)存儲(chǔ)的處理數(shù)據(jù)以及命令,來生成(擴(kuò)展、譯碼) 執(zhí)行碼。在生成執(zhí)行碼后,將處理控制轉(zhuǎn)交給執(zhí)行單元123。
執(zhí)行單元123基于代碼擴(kuò)展單元122生成的執(zhí)行碼來進(jìn)行執(zhí)行處 理。這里,在本實(shí)施方式中,設(shè)執(zhí)行單元123是一邊解釋(翻譯)執(zhí)行 碼, 一邊對(duì)處理數(shù)據(jù)執(zhí)行命令的執(zhí)行處理的解釋程序。因此,程序碼 被按照每個(gè)執(zhí)行碼地順序進(jìn)行執(zhí)行處理。這里,執(zhí)行單元123為了解 釋執(zhí)行碼,而在存儲(chǔ)單元(圖中未示)內(nèi)具有在實(shí)施方式3中說明過的 辭典。若執(zhí)行處理結(jié)束,則將處理控制轉(zhuǎn)交給代碼種類判定單元"HTL
程序碼存儲(chǔ)單元124和緩沖器存儲(chǔ)單元125都是存儲(chǔ)單元。這里, 在本實(shí)施方式中,將程序碼存儲(chǔ)單元124設(shè)為非易失性存儲(chǔ)器,但它 不是簡(jiǎn)單的ROM,而是能夠執(zhí)行追加、改變、刪除等部分或全部程 序碼的可重寫的存儲(chǔ)單元(例如,EPROM、 EEPROM等)。在重寫程 序碼的情況下,如在實(shí)施方式1中說明過的那樣,例如通過經(jīng)由網(wǎng)絡(luò) 的下載,插入設(shè)備具有的通信單元(圖中未示)接收包含程序碼的信號(hào), 將其存儲(chǔ)、保持在程序碼存儲(chǔ)單元124內(nèi)。
緩沖器存儲(chǔ)單元125例如設(shè)為易失性存儲(chǔ)器。緩沖器存儲(chǔ)單元 125是用于在代碼擴(kuò)展單元122生成執(zhí)行碼之前至少存儲(chǔ)處理數(shù)據(jù)的 暫時(shí)存儲(chǔ)單元,若輸入了下一個(gè)處理數(shù)據(jù),則不保留前面的數(shù)據(jù)。因此,緩沖器存儲(chǔ)單元125具有的存儲(chǔ)容量是任意的,但最好設(shè)為插入 設(shè)備(程序執(zhí)行裝置)執(zhí)行1次執(zhí)行處理時(shí)能夠存儲(chǔ)執(zhí)行碼的處理數(shù)據(jù) 部分(或執(zhí)行碼)的最大存儲(chǔ)容量。
本實(shí)施方式是逐字節(jié)地讀取進(jìn)行執(zhí)行處理的壓縮程序碼數(shù)據(jù),判 定該數(shù)據(jù)內(nèi)包含的是處理數(shù)據(jù)還是命令。若是處理數(shù)據(jù),則使其存儲(chǔ) 在緩沖器存儲(chǔ)單元125內(nèi),若判定為命令,則擴(kuò)展單元122將存儲(chǔ)在 緩沖器存儲(chǔ)單元125內(nèi)的處理數(shù)據(jù)和命令作成執(zhí)行碼。執(zhí)行單元123 對(duì)該執(zhí)行碼進(jìn)行執(zhí)行處理。由此,程序執(zhí)行裝置基于存儲(chǔ)在程序碼存 儲(chǔ)單元124內(nèi)的已壓縮程序碼,逐個(gè)執(zhí)行碼地進(jìn)行執(zhí)行處理。這里, 那些已經(jīng)結(jié)束執(zhí)行處理的執(zhí)行碼(程序碼)不會(huì)被保留在RAM等緩沖 器存儲(chǔ)單元125內(nèi),從而抑制了緩沖器存儲(chǔ)單元125的存儲(chǔ)容量,使 其不會(huì)超過用于暫時(shí)存儲(chǔ)1次執(zhí)行處理所必需的執(zhí)行碼的處理數(shù)據(jù) (或執(zhí)行碼)所需要的量。也可以使用在物理上各自獨(dú)立的單元來構(gòu)成 代碼種類判定單元121、代碼擴(kuò)展單元122和執(zhí)行單元123,但是, 程序執(zhí)行裝置通常由稱為微機(jī)等的計(jì)算機(jī)構(gòu)成,這些單元例如由以 CPU為中心的控制處理裝置構(gòu)成。這樣,控制處理裝置通過執(zhí)行各個(gè) 單元的處理,來實(shí)現(xiàn)程序執(zhí)行裝置的執(zhí)行處理。
圖ll是流程圖,表示程序執(zhí)行裝置中進(jìn)行執(zhí)行處理時(shí)的操作。 這里,特別以程序執(zhí)行裝置的代碼種類判定單元121、代碼擴(kuò)展單元 122以及執(zhí)行單元123執(zhí)行的處理為中心進(jìn)行說明。代碼種類判定單 元121以1字節(jié)為單位從程序碼存儲(chǔ)單元124中讀取已壓縮程序碼的 數(shù)據(jù)(S1)。然后,代碼種類判定單元121根據(jù)在實(shí)施方式1中說明過 的判定用比特是"0"還是"1",來判定所讀取的數(shù)據(jù)是命令還是處理數(shù) 據(jù)(不是命令)(S2)。在判定為是處理數(shù)據(jù)(不是命令)時(shí),在刪除判定用 比特后將其存儲(chǔ)在緩沖器存儲(chǔ)單元125內(nèi)(S3),并進(jìn)一步按1字節(jié)單 位來讀取已壓縮程序碼的數(shù)據(jù)(S1)。
另一方面,若判定為讀取的數(shù)據(jù)是命令,則將控制轉(zhuǎn)交給代碼擴(kuò) 展單元122。代碼擴(kuò)展單元122基于讀取的數(shù)據(jù)(二進(jìn)制數(shù)據(jù)),判定 該數(shù)據(jù)表示的命令,并將其變換為腳本格式的命令。在該判定中,使
20用了實(shí)施方式l中說明過的二進(jìn)制數(shù)據(jù)以及命令的關(guān)系。由于在能夠 判定為命令時(shí),了解由命令執(zhí)行處理的處理數(shù)據(jù)的要素(項(xiàng)目)和所分 配的數(shù)據(jù)量(比特?cái)?shù)),因此,基于處理數(shù)據(jù)的二進(jìn)制數(shù)據(jù),對(duì)各要素(項(xiàng)
目)的處理數(shù)據(jù)進(jìn)行分割。執(zhí)行以上的擴(kuò)展處理來產(chǎn)生執(zhí)行碼(S4)。
這樣,在控制從代碼擴(kuò)展單元122轉(zhuǎn)交給執(zhí)行單元123后,基于 代碼擴(kuò)展單元122生成的執(zhí)行碼來進(jìn)行執(zhí)行處理(S5)。在基于逆波蘭 計(jì)數(shù)法的語言中,各要素(項(xiàng)目)都推積在堆棧中,以便基于命令來執(zhí) 行處理。若基于執(zhí)行碼的執(zhí)行處理結(jié)束,則將控制轉(zhuǎn)交給代碼種類判 定單元121,執(zhí)行針對(duì)基于下一執(zhí)行碼的執(zhí)行處理的處理。如上所述, 對(duì)每個(gè)執(zhí)行碼順次進(jìn)行執(zhí)行處理后,對(duì)程序碼進(jìn)行執(zhí)行處理,并使插 入設(shè)備執(zhí)行操作。另外,將包含基于實(shí)施處理的數(shù)據(jù)的信號(hào)經(jīng)由網(wǎng)絡(luò) 發(fā)送給插入設(shè)備以外的設(shè)備,以使其動(dòng)作。
如上所述,由于根據(jù)實(shí)施方式4,按規(guī)定的數(shù)據(jù)量(在本實(shí)施方式 中為i字節(jié))從程序碼存儲(chǔ)單元124中讀取已壓縮的程序碼數(shù)據(jù),若代 碼種類判定單元121判定為包含處理數(shù)據(jù)的數(shù)據(jù),則使其暫時(shí)存儲(chǔ)在 緩沖器存儲(chǔ)單元125內(nèi),若判定為是包含命令的數(shù)據(jù),則代碼擴(kuò)展單 元122接著產(chǎn)生執(zhí)行碼,執(zhí)行單元123執(zhí)行基于該執(zhí)行碼的執(zhí)行處理, 因此,緩沖器存儲(chǔ)單元125也可以僅在產(chǎn)生執(zhí)行碼之前存儲(chǔ)處理數(shù)據(jù), 由此,在將其設(shè)置為緩沖器存儲(chǔ)單元時(shí),能減少應(yīng)存儲(chǔ)的容量。由于 從壓縮程序碼數(shù)據(jù)的讀取開始到執(zhí)行碼的執(zhí)行處理為止,程序執(zhí)行裝 置的所有處理都很簡(jiǎn)單,因此,即便不保持所生成的執(zhí)行碼(程序碼), 也能夠防止速度降低。如上所述,本實(shí)施方式的程序執(zhí)行裝置由于既 能降低與處理有關(guān)的存儲(chǔ)容量、又能維持執(zhí)行處理速度,因此,在將 其插入到對(duì)抑制操作控制成本的要求很高的家電設(shè)備內(nèi)的情況下,發(fā) 揮了特別的效果。由于經(jīng)由通信線路,將包含已壓縮程序碼數(shù)據(jù)的信 號(hào)發(fā)送給插入設(shè)備等,并改寫程序碼存儲(chǔ)單元124中的數(shù)據(jù),因此, 能夠更有效地、更高狀態(tài)地使程序碼存儲(chǔ)單元124的程序碼保持為最 新。
21實(shí)施方式5
圖12圖示了有關(guān)本發(fā)明實(shí)施方式5的已壓縮執(zhí)行碼的數(shù)據(jù)結(jié)構(gòu)。 在上述實(shí)施方式1中,將^t成二進(jìn)制數(shù)據(jù)的處理數(shù)據(jù)從頭開始按7比 特為一組(在所表述的數(shù)據(jù)串中所謂的左對(duì)齊)進(jìn)行分割,在不能用7 來分割處理數(shù)據(jù)的情況下,將剩余的比特補(bǔ)充"0"等。
這里,在執(zhí)行基于執(zhí)行碼的執(zhí)行處理時(shí)采用了堆棧這種數(shù)據(jù)結(jié)構(gòu) 的情況下,最后堆積的數(shù)據(jù)變?yōu)槠鹗紨?shù)據(jù),從該數(shù)據(jù)開始執(zhí)行處理(即, 變成從所表述的數(shù)據(jù)串右側(cè)的數(shù)據(jù)開始進(jìn)行處理)。例如,在能夠改變 要素(項(xiàng)目)個(gè)數(shù)的情況下,將該個(gè)數(shù)的數(shù)據(jù)顯示在堆棧的開頭。從這 一點(diǎn)來看,在同一處理系統(tǒng)中的統(tǒng)一是非常有益的。因此,如圖12(a) 所示,將二進(jìn)制數(shù)據(jù)做成所謂右對(duì)齊,即便在代碼擴(kuò)展單元122的擴(kuò) 展處理中,其開頭(不是補(bǔ)充數(shù)據(jù))也會(huì)變?yōu)樘幚頂?shù)據(jù)的一部分。
如圖12(b)所示,通過在最初讀入的1字節(jié)數(shù)據(jù)(不包含命令的數(shù) 據(jù))內(nèi),包含有表示不包含命令的數(shù)據(jù)的字節(jié)數(shù)的數(shù)據(jù),能夠在代碼種 類判定單元121中判定是否是包含命令的數(shù)據(jù)。在圖12(b)中,將5 比特(0~31的數(shù)值)分配給用于表示處理數(shù)據(jù)的字節(jié)數(shù)的數(shù)據(jù)。由此, 就沒有必要為每個(gè)字節(jié)數(shù)據(jù)來設(shè)置判定用比特。由此,特別是,包含 處理數(shù)據(jù)的數(shù)據(jù)的字節(jié)數(shù)(比特?cái)?shù))越多,就越能有效地執(zhí)行壓縮。另 外,由于知道了處理數(shù)據(jù)的字節(jié)數(shù),緊跟著處理數(shù)據(jù)的就是命令,因 此,也沒有必要為命令設(shè)置判定用比特。由此,與設(shè)置了判定用比特 的情況相比,例如,使能夠利用l字節(jié)來判定的命令數(shù)增至2倍。
實(shí)施方式6
在上述實(shí)施方式中,利用基于逆波蘭計(jì)數(shù)法的語言來表述程序 碼,將執(zhí)行單元123作為對(duì)該記述進(jìn)行解釋并進(jìn)行執(zhí)行處理的解釋程 序。但本發(fā)明并不限于此。例如,也可以將JavaVM(或JVM(Java,Java Virtual Machine JVM是Sun Microsystem,Inc.在美國以及其他國家 的商標(biāo)或注冊(cè)商標(biāo))等、執(zhí)行基于堆棧型語言的執(zhí)行碼的執(zhí)行處理的解 釋程序構(gòu)成為處理系統(tǒng)。由于能夠使用更通用的語言,因此,有可能 夠執(zhí)行更高級(jí)的代碼生成。
權(quán)利要求
1. 一種程序執(zhí)行裝置,其特征在于,具有第1存儲(chǔ)單元,用于存儲(chǔ)對(duì)由執(zhí)行碼構(gòu)成的程序碼執(zhí)行壓縮后的數(shù)據(jù),其中所述執(zhí)行碼由在執(zhí)行處理中所使用的處理數(shù)據(jù)和表示執(zhí)行處理內(nèi)容的命令順序排列而成;第2存儲(chǔ)單元,用于暫時(shí)存儲(chǔ)所述處理數(shù)據(jù);種類判定單元,每從所述第1存儲(chǔ)單元讀取了規(guī)定數(shù)據(jù)量的對(duì)程序碼執(zhí)行壓縮后的數(shù)據(jù),就判定是否是包含所述命令的數(shù)據(jù),在判定為是不包含所述命令的數(shù)據(jù)時(shí),使該數(shù)據(jù)內(nèi)的所述處理數(shù)據(jù)存儲(chǔ)在所述第2存儲(chǔ)單元內(nèi);代碼擴(kuò)展單元,在所述種類判定單元判定為是包含所述命令的數(shù)據(jù)時(shí),根據(jù)存儲(chǔ)在所述第2存儲(chǔ)單元內(nèi)的所述處理數(shù)據(jù)和命令來生成所述執(zhí)行碼;以及,執(zhí)行單元,基于該代碼擴(kuò)展單元生成的執(zhí)行碼,逐次執(zhí)行所述程序碼的執(zhí)行處理。
2. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于, 所述處理數(shù)據(jù)堆積在堆棧內(nèi),所述執(zhí)行單元基于用堆棧型語言記述的所述程序碼來進(jìn)行執(zhí)行處理,以使所述命令作用于所述堆棧以進(jìn) 行執(zhí)行處理。
3. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,所述執(zhí)行單 元執(zhí)行根據(jù)以基于逆波蘭計(jì)數(shù)法的語言記述的所述程序碼的執(zhí)行處 理。
4. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,所述規(guī)定的 數(shù)據(jù)量為l字節(jié)。
5. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,所述規(guī)定數(shù) 據(jù)量中的1比特是所述判定單元用于判定是否是包含所述命令的代碼 數(shù)據(jù)的標(biāo)志數(shù)據(jù)。
6. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,在最初讀取 的規(guī)定數(shù)據(jù)量的數(shù)據(jù)內(nèi)包含表示不包含所述命令的數(shù)據(jù)的數(shù)目的數(shù) 據(jù)時(shí),所述種類判定單元將不包含所述命令的數(shù)據(jù)的數(shù)目那么多的所 讀取的所述規(guī)定數(shù)據(jù)量的數(shù)據(jù)判定為不包含所述命令的數(shù)據(jù),這些數(shù) 據(jù)內(nèi)的所述處理數(shù)據(jù)被存儲(chǔ)到所述第2存儲(chǔ)單元內(nèi),并將下次讀取的 規(guī)定數(shù)據(jù)量的數(shù)據(jù)設(shè)定為包含所述命令的數(shù)據(jù)。
7. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,就各命令而 言,基于命令被使用的頻度來設(shè)置包含所述命令的數(shù)據(jù)的數(shù)目。
8. 如權(quán)利要求1所述的程序執(zhí)行裝置,其特征在于,使對(duì)經(jīng)由通 信線路發(fā)送來的信號(hào)中所包含的所述程序碼執(zhí)行壓縮后的數(shù)據(jù)存儲(chǔ) 在所述第l存儲(chǔ)單元內(nèi)。
9. 一種程序執(zhí)行方法,其特征在于,具有每次以規(guī)定的數(shù)據(jù)量從第1存儲(chǔ)單元中讀取對(duì)由執(zhí)行碼構(gòu)成的 程序碼執(zhí)行壓縮后的數(shù)據(jù)的步驟,其中,所述執(zhí)行碼由在執(zhí)行處理中 所使用的處理數(shù)據(jù)和表示執(zhí)行處理內(nèi)容的命令順序排列而成;種類判 定單元判定在所讀取的數(shù)據(jù)中是否包含所述命令的步驟; 在判定為是不包含所述命令的數(shù)據(jù)、且所讀取的數(shù)據(jù)中包含所述 處理數(shù)據(jù)時(shí),將所述處理數(shù)據(jù)存儲(chǔ)在第2存儲(chǔ)單元內(nèi),而在判定為是 包含所述命令的數(shù)據(jù)時(shí),代碼擴(kuò)展單元根據(jù)存儲(chǔ)在所述第2存儲(chǔ)單元內(nèi)的所述處理數(shù)據(jù)和命令來生成所述執(zhí)行碼的步驟;以及執(zhí)行單元基于所述代碼擴(kuò)展單元生成的執(zhí)行碼,逐次執(zhí)行所述程 序碼的執(zhí)行處理的步驟。
10. —種用于壓縮由執(zhí)行碼構(gòu)成的程序碼的程序碼壓縮處理裝置,其中所述執(zhí)行碼由在執(zhí)行處理中所使用的處理數(shù)據(jù)和表示執(zhí)行處理內(nèi)容的命令順序排列而成,其特征在于,具有識(shí)別單元,用于識(shí)別各個(gè)所述執(zhí)行碼的所述處理數(shù)據(jù)和所述命 令;以及變換單元,在匯總每個(gè)要素的所述處理數(shù)據(jù)后將其變換為二進(jìn)制 形式、并將所述命令變換為對(duì)應(yīng)的數(shù)值后,按照規(guī)定的數(shù)據(jù)量對(duì)各數(shù) 據(jù)進(jìn)行分割,向分割后的數(shù)據(jù)分別附加用于判定是否是包含所述命令 的數(shù)據(jù)的標(biāo)志數(shù)據(jù)。
11. 一種程序碼壓縮處理方法,其特征在于,該方法針對(duì)構(gòu)成程 序碼的各執(zhí)行碼執(zhí)行以下步驟讀取順序排列有在執(zhí)行處理中所使用的處理數(shù)據(jù)和表示執(zhí)行處 理內(nèi)容的命令的執(zhí)行碼,并由識(shí)別單元識(shí)別所述執(zhí)行碼的所述處理數(shù) 據(jù)和所述命令的步驟;以及變換單元分別按照規(guī)定的數(shù)據(jù)量對(duì)所述處理數(shù)據(jù)和所述命令進(jìn) 行分割,并對(duì)分割后的數(shù)據(jù)分別附加用于判定是否是包含了所述命令 的數(shù)據(jù)的標(biāo)志數(shù)據(jù)的步驟。
12. —種設(shè)備,包括存儲(chǔ)單元,用于存儲(chǔ)按照權(quán)利要求11所述的方法進(jìn)行壓縮后的 程序碼;以及通信單元,用于將所述壓縮后的程序碼發(fā)送給如權(quán)利要求1~8中 任一所述的程序執(zhí)行裝置。
全文摘要
本發(fā)明提供一種能夠?qū)Τ绦虼a進(jìn)一步最優(yōu)化后生成新程序碼、特別是執(zhí)行與插入設(shè)備相對(duì)應(yīng)的生成的程序碼生成支持裝置、方法等。該裝置具備將用于變換程序碼數(shù)據(jù)的變換條件和由該變換內(nèi)容構(gòu)成的最優(yōu)化規(guī)則作為數(shù)據(jù)進(jìn)行存儲(chǔ)的存儲(chǔ)單元(6)、以及代碼最優(yōu)化單元(4)。所述代碼最優(yōu)化單元(4)具有用于分析程序碼的代碼分析部(4A);基于分析后的程序碼,與存儲(chǔ)單元內(nèi)存儲(chǔ)的最優(yōu)化規(guī)則進(jìn)行核對(duì),檢索程序碼中與變換條件一致的部分的條件檢索部(4B);以及,基于變換內(nèi)容,對(duì)與變換條件一致的部分進(jìn)行變換,生成新的程序碼數(shù)據(jù)的最優(yōu)化部(4C)。
文檔編號(hào)G06F9/44GK101458620SQ20081018495
公開日2009年6月17日 申請(qǐng)日期2006年2月2日 優(yōu)先權(quán)日2005年2月3日
發(fā)明者久代紀(jì)之, 伊藤山彥, 小泉吉秋, 落合淑子, 鈴木繁樹 申請(qǐng)人:三菱電機(jī)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1