乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      淺談編譯原理近期發(fā)展

       賢人好客 2010-06-13

      關(guān)鍵詞:編譯原理歷史變更 編譯工具 實踐性 課程教材龍書發(fā)展

       

      一、編譯原理的歷史發(fā)展

      第一個編譯程序的出現(xiàn)是在20世紀50年代早期,很難講出確切的時間,因為當初大量的實驗和實現(xiàn)工作是由不同的小組獨立完成的,多數(shù)早期的編譯工作是將算術(shù)公式翻譯成機器代碼。用現(xiàn)在的標準來衡量,當時的編譯程序能完成的工作十分初步,如只允許簡單的單目運算,數(shù)據(jù)元素的命名方式有很多限制。然而它們奠定了對高級語言編譯系統(tǒng)的研究和開發(fā)的基礎(chǔ)。20世紀50年代中期出現(xiàn)了FORTRAN等一批高級語言,相應(yīng)的一批編譯系統(tǒng)開發(fā)成功。隨著編譯技術(shù)的發(fā)展和社會對編譯程序需求的不斷增長,20世紀50年代末有人開始研究編譯程序的自動生成工具,提出并研制編譯程序的編譯程序。它的功能是以任一語言的詞法規(guī)則、語法規(guī)則和語義解釋出發(fā),自動產(chǎn)生該語言的編譯程序。目前很多自動生成工具已廣泛使用,如詞法分析程序的生成系統(tǒng)LEX,語法分析程序的生成系統(tǒng)YACC等。20世紀60年代起,不斷有人使用自展技術(shù)來構(gòu)造編譯程序。自展的主要特征是用被編譯的語言來書寫該語言自身的編譯程序。1971年,PASCAL的編譯程序用自展技術(shù)生成后,其影響就越來越大。
        隨著并行技術(shù)和并行語言的發(fā)展,處理并行語言的并行編譯技術(shù),將串行程序轉(zhuǎn)換成并行程序的自動并行編譯技術(shù)也正在深入研究之中。另外嵌入式應(yīng)用迅速增長的需求,推動了交叉編譯技術(shù)的發(fā)展.還有系統(tǒng)芯片設(shè)計方法和關(guān)鍵EDA技術(shù)的研究,也帶動了專用語言VHDL等及其編譯技術(shù)的不斷深化。

       

      二、編譯原理工具的具體發(fā)展

      隨著大規(guī)模集成電路、網(wǎng)絡(luò)通訊和其它數(shù)字信息技術(shù)的迅速發(fā)展,目前嵌入式系統(tǒng)己經(jīng)廣泛地滲透到科學研究、工程設(shè)計、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)等各方面,在人們?nèi)粘I钪械姆椒矫婷娴教幨乔度胧较到y(tǒng)設(shè)備的身影,如手機、PDA、智能家電以及汽車電子等。隨著國內(nèi)外各種嵌入式產(chǎn)品的進一步開發(fā)和推廣,嵌入式技術(shù)和人們的生活結(jié)合越來越緊密,人們?nèi)粘5墓ぷ?、學習和生活方式終將不可避免地逐步改變,嵌入式產(chǎn)品正在逐步形成時尚,在當今的信息社會中扮演越來越重要的角色。

      嵌入式系統(tǒng)一般指的是非PC系統(tǒng),它包括完全植入嵌入式硬件內(nèi)部的為特定應(yīng)用設(shè)計的專用計算機系統(tǒng),以及相應(yīng)的硬件。嵌入式系統(tǒng)以應(yīng)用為中心的,它的軟硬件可以根據(jù)需求進行裁減,以此來適應(yīng)目標系統(tǒng)對外形尺寸、功能、可靠性、成本、功耗、外部接口等方面的嚴格要求。簡單地說,嵌入式系統(tǒng)集操作系統(tǒng)、應(yīng)用軟件與硬件于一體,具有軟件代碼小、高度自動化、響應(yīng)速度快等特點,因此特別適合要求實時和多任務(wù)的應(yīng)用。

          由于嵌入式系統(tǒng)資源有限,一般無法提供編譯、匯編、鏈接等工具,同時也很難提供高級調(diào)試功能,因此嵌入式系統(tǒng)的應(yīng)用軟件一般不能直接在嵌入式系統(tǒng)平臺上進行開發(fā),而需要在交叉編譯環(huán)境中開發(fā)。也就是說通常是在另外的開發(fā)平臺上開發(fā)的,一般這種開發(fā)平臺由通用的計算機系統(tǒng)和專用的嵌入式系統(tǒng)軟件開發(fā)工具組成。

      編譯實現(xiàn)方式的發(fā)展主要分一下五類:手工、機器語言、匯編、系統(tǒng)程序設(shè)計語言、自動構(gòu)造工具lex yacc gcc。推動編譯技術(shù)發(fā)展的因素主要包括:語言范型(計算模式)、計算機體系結(jié)構(gòu)語言范型主要包括:命令式(imperative language) 、應(yīng)用式(applicative) 、基于規(guī)則的(rule-based)、面向?qū)ο蟮模╫bject-oriented)、并行計算(parallel computing)。

      體系結(jié)構(gòu)主要包括:萬諾曼機體系結(jié)構(gòu)、并行體系結(jié)構(gòu)、嵌入系統(tǒng)。編譯程序執(zhí)行環(huán)境主要包括:批處理、交互環(huán)境、嵌入系統(tǒng)環(huán)境、并行編譯技術(shù)、交叉編譯?! 【幾g程序在一個機器(宿主機)上運行,產(chǎn)生另一個機器(目標機)的匯編語言。嵌入式系統(tǒng)中的應(yīng)用程序正是借助這樣的編譯程序生成。

      目標處理器MIPSX是MIPS系列芯片的種,屬于RISC體系結(jié)構(gòu),來源于斯坦福大學的MIPS計劃。由于該系列CPU不是采用加州大學伯克利分校的RISC窗口技術(shù)而是采用消除流水線各級互鎖的微處理器MIPS(MicroprocessorWithout Interlocking Pipeline Stage)技術(shù),因此而得名。MIPS是將IBM公司對優(yōu)化編譯程序的研究和加州大學伯克利分校的大規(guī)模集成電路的思想結(jié)合起來的產(chǎn)品。

        由于RISC指令集的簡單和整齊,為了達到更好地利用計算機的性能,MIPS系列芯片中很好地應(yīng)用了流水線策略。流水線是現(xiàn)代各類微處理器都采用的指令執(zhí)行技巧,即將若干條指令的取指、譯碼和執(zhí)行過程部分重疊在流水線中同時執(zhí)行。以前在CISC計算機中,由于指令多而復(fù)雜,處理每條指令的所需時間不固定,當后面指令需要前條指令的結(jié)果時,往往造成指令互鎖,因此無法實現(xiàn)流水線。而斯坦福大學的MIPS計劃就是在編譯的過程中,利用編譯程序優(yōu)化處理器的流水線以求提高處理器流水線的效率。由于采用了硬件連線控制來執(zhí)行數(shù)目不多的簡單指令,而且還能重組軟件流水線,這樣就減少了硬件復(fù)雜性。

      來源:(http://blog.sina.com.cn/s/blog_5a5dec0a0100c8uz.html?retcode=0) - 淺談編譯原理近期發(fā)展_ruan_新浪博客

      但是由于存在數(shù)據(jù)和指令轉(zhuǎn)移的相關(guān)性,這會引起流水線的停頓,降低流水線整體的執(zhí)行速率。為了調(diào)整這些相關(guān)性,又開發(fā)出了代碼重組技術(shù),其中一種是延遲轉(zhuǎn)移(delayed branch),另一種叫延遲裝入,提升了性能。

       MIPS公司的R系列就是在此基礎(chǔ)上開發(fā)的RISC工業(yè)產(chǎn)品的微處理器。這些系列產(chǎn)品被很多計算機公司采用生產(chǎn)各種工作站和計算機系統(tǒng)。R系列遵循按比例提高性能設(shè)計技術(shù),按不同工藝技術(shù)實現(xiàn)基本相同的體系結(jié)構(gòu),其適用范圍從低端的嵌入式控制器、個人計算機到高端的超級小型機、服務(wù)器甚至大型機和巨型機,而且系統(tǒng)軟件和應(yīng)用程序都是兼容的。MIPS公司在1986年推出82000處理器,1988年推出83000處理器,1991年推出第一款64位商用微處理器84000。之后,又陸續(xù)推出88000(于1994年)、810000(于1996年)和812000(于1997年)等型號。1999年,MIPS公司發(fā)布MIPS 32和MIPS 64架構(gòu)標準。2000年,MIPS公司發(fā)布了針對MIPS 32 4Kc的新版本以及未來64位MIPS 64 20Kc處理器內(nèi)核。

       在整個R系列中82000/82010是最基礎(chǔ)的原型;83000/83010是82000/82010的增強型產(chǎn)品;由于84000采用高精度的CMOS工藝,因此其性能很高,用途很廣;而86000/86010是ECL電路化的高速品種,但是由于86000/86010的功耗大,成本高,所以其應(yīng)用受到很大限制。但是MIPSX并不屬于以上提到的CPU中的任何一種,它是由20世紀80年代后期由美國國防部高級研究項目署(DARPA)資助的一個項目的成果。因此,基于MIPSX的交叉編譯工具鏈研究雖然現(xiàn)有的GNU交叉編譯工具鏈對MIPS公司R系列芯片的支持很好,但還是缺乏對MIPSX的有效支持,所以還是需要進行移植。進行移植工作前,必須首先了解MIPSX的體系結(jié)構(gòu)。經(jīng)過實驗室前幾屆師兄的分析,我們得知MIPSX的體系結(jié)構(gòu)與MIPS公司R系列芯片中的82000最為接近,當然它們在很多地方還是存在著差別,比如具體指令集的不同,比如MIPSX沒有浮點操作;MIPSX指令的基本操作碼只占5位;MIPSX在跳轉(zhuǎn)指令中的延時槽有兩條等。

       

      三、編譯原理課程教材和實踐性的發(fā)展

      “編譯原理”課程分析編譯原理課程一般利用常用軟件如C,Pascal等來構(gòu)建編譯的各部分程序,編譯原理的構(gòu)成包括詞法分析,語法分析、語義分析、中間代碼生成、代碼優(yōu)化和目標代碼生成等。編譯原理課程的學習可以對程序設(shè)計語言的設(shè)計和實現(xiàn)有深刻的理解,還可以有助于快速理解定位和解決在程序編譯、測試與運行中出現(xiàn)的問題。編譯程序規(guī)模大。由于編譯原理是一個極其復(fù)雜的系統(tǒng),程序規(guī)模大,將它肢解開來一部分一部分地研究。理論知識抽象。要完整地構(gòu)造一個編譯系統(tǒng)并不是一件容易的事情,它不僅需要具有較完備的軟件知識,并需要掌握現(xiàn)有的軟件工具的使用,而且更重要的是要有豐富的實踐經(jīng)驗,了解硬件系統(tǒng)結(jié)構(gòu)和操作系統(tǒng)的功能。算法的理解和實現(xiàn)。編譯原理這門課包含許多理論知識和算法,這些理論的學習和理解都存在著一定的難度。其中理論知識包括:詞法分析器的構(gòu)造,語法中各種分析器(LR,LL,SLR,LALR等)實現(xiàn)與完成。

      在編譯原理的不斷發(fā)展和完善過程中,一本本課程教材接踵而至,其中不乏非常優(yōu)秀的“名書”。編譯領(lǐng)域里程碑式的經(jīng)典著作——龍書,20年后終于出新版!這是一個延綿30年的故事,這是一部關(guān)于龍書的傳奇!最新版本,增添三章節(jié)內(nèi)容,使龍書地位更權(quán)威! 1977年,Alfred V. Aho 和Jeffrey D. Ullman 出版《Principles of Compiler Design 》,封面是一名騎士和一只恐龍,因此第一次被人稱為龍書,但因為那條龍是綠色的,所以稱為綠龍書。過了9年,1986年,原來的兩位作者加上Ravi Sethi, 升級了前一本書,書名改為《Compilers: Principles, Techniques and Tools》,封面依然沿用騎士和恐龍,那頭龍是紅色的,因此被叫做龍書二或者是紅龍書。又過了一個9年,又一個9年,編譯領(lǐng)域的巨無霸--龍書始終都沒有升級。終于在2006年年底,龍書升級了。作者又增加了Monica S. Lam,名字沿用《Compilers: Principles, Techniques and Tools》,封面依然保持恐龍和武士的設(shè)計,但這次的龍是紫色,因此叫做紫龍書。

      本書全面、深入地探討了編譯器設(shè)計方面的重要主題,包括詞法分析、語法分析、語法制導定義和語法制導翻譯、運行時刻環(huán)境、目標代碼生成、代碼優(yōu)化技術(shù)、并行性檢測以及過程間分析技術(shù),并在相關(guān)章節(jié)中給出大量的實例。與上一版相比,本書進行了全面的修訂,涵蓋了編譯器開發(fā)方面的最新進展。每章中都提供了大量的系統(tǒng)及參考文獻。本書是編譯原理課程方面的經(jīng)典教材,內(nèi)容豐富,適合作為高等院校計算機及相關(guān)專業(yè)本科生及研究生的編譯原理課程的教材,也是廣大技術(shù)人員的極佳參考讀物。Alfred V. Aho是哥倫比亞大學的Lawrence Gussman計算機科學教授。 Aho教授多次獲獎,其中包括哥倫比亞校友會頒發(fā)的2003年度Great Teacher獎和電子與電器工程師協(xié)會的Jonh von Neumann獎?wù)隆K敲绹鴩夜こ淘涸菏?,以及ACM和IEEE的會員。Monica S. Lam是斯坦福大學的計算機科學教授。她曾經(jīng)是Tensilica 的首席科學家,并且是moka5的創(chuàng)建者和首席執(zhí)行官。她領(lǐng)導了 SUIF項目。該項目開發(fā)了最流行的研究性編譯器之一,并首創(chuàng)了很多在工業(yè)界得到應(yīng)用的編譯技術(shù)。Jeffery D.Ullman是Gradiance公司的首席執(zhí)行官和Standford大學的StanfordcW.Ascherman計算機科學(名譽退休)教授他的研究興趣包括數(shù)據(jù)庫理論、數(shù)據(jù)庫集成、數(shù)據(jù)挖掘和利用信息基礎(chǔ)軟件的教育技術(shù).他是美國國家工程院的院士,ACM的會員,并且是 Karlstrom獎和Knuth獎的獲得者。

       

      四、總結(jié)

      在編譯原理領(lǐng)域的技術(shù)人員和專家的共同努力下,編譯原理近幾年在各方面都有了迅猛的發(fā)展。特別是能在最前沿有所進步,這是頂尖科學工作者不懈努力的結(jié)果。在編譯工具方面,也有了一定的發(fā)展,由于編譯原理產(chǎn)生時間并不是很久,能有現(xiàn)在的發(fā)展應(yīng)該說是很不錯了。對于編譯課程,也在不斷進行改革,通過教育來培養(yǎng)更多編譯領(lǐng)域的人才。

       

      參考文獻

      [1]王一賓,基于面向?qū)ο蟮木幾g原理實驗的研究[J],安徽:安慶師范學院學報(自然科學版),2002.

      [2]劉欣欣,“編譯原理”雙語教學的實踐與探索[J].長春:長春師范學院學報.2005.02.

      [3] http://10.1.136.24/kns50/detail.aspx?QueryID=261&CurRec=13.

      [4]AlfredV.Aho.RaviSethi.JeffreyD.Ullman.compilers:Principles,Techniques,and Tools[M].Pearson Education出版集團。2002.

      [5]程虎,一個自動編譯系統(tǒng)ACS[J],浙江:軟件學報,1991.0.

      [6] http://www./article/tech-35105.htm.

      [7]馮鋼,基于GCC的嵌入式系統(tǒng)編譯器研究和開發(fā)浙江大學碩士論文,March 2004.

      [8]石教英,計算機體系結(jié)構(gòu) 浙江大學出版社 p175.

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多