畢昇編譯器原理與實踐

華保健 高耀清

  • 出版商: 清華大學
  • 出版日期: 2022-11-01
  • 定價: $474
  • 售價: 8.0$379
  • 語言: 簡體中文
  • ISBN: 7302619859
  • ISBN-13: 9787302619857
  • 相關分類: Compiler
  • 立即出貨

  • 畢昇編譯器原理與實踐-preview-1
  • 畢昇編譯器原理與實踐-preview-2
  • 畢昇編譯器原理與實踐-preview-3
畢昇編譯器原理與實踐-preview-1

買這商品的人也買了...

商品描述

《畢昇編譯器原理與實踐》詳細討論了畢昇編譯器的設計原理與實現,深入介紹了現代編譯器設計和實踐。全書共 8 章,包括編譯器概述,鯤鵬處理器,編譯器前端的詞法分析、語法分析和語義分析,編譯器中端的中間表示、中間代碼生成、中間代碼優化、靜態單賦值形式等,編譯器後端的指令選擇、指令調度、寄存器分配等內容。本書重點討論了畢昇編譯器中使用的先進編譯優化技術,如循環優化、自動向量化、多級存儲優化和反饋式優化等,並討論了基於 AI 的編譯器自動調優等內容。為方便讀者學習和掌握相關內容,書中每章都給出了可以繼續深入學習的文獻,並給出了豐富的習題供讀者練習。 通過閱讀本書,讀者可以深入理解編譯器設計的基本原理和實踐技術、鯤鵬指令集體系結構、畢昇編譯器的優化技術等內容,從而為將來從事編譯器理論深入研究和工程實踐打下堅實的基礎。 《畢昇編譯器原理與實踐》可作為高等院校、科研機構等相關單位從事編譯原理教學和科研的教師或研究人員的參考書,也可作為高等院校信息與電腦科學、軟件工程等相關專業的本科生、研究生學習編譯原理的教材或參考書,還可供對編譯原理和實踐等領域感興趣的工程技術人員參考使用。

目錄大綱

CONTENTS

目錄

第1章編譯器概述00

1.1編譯器基本概念00

1.2編譯器發展歷史00

1.3編譯器的基本功能與結構00

1.3.1前端00

1.3.2中端00

1.3.3後端00

1.4編譯器的設計目標0

1.5畢昇編譯器0

1.6小結0

1.7深入閱讀0

1.8習題0

第2章鯤鵬處理器0

2.1概述0

2.2體系架構0

2.2.1執行狀態0

2.2.2支持的指令集0

2.2.3數據類型0

2.3CPU訪存原理0

2.3.1多級存儲系統0

2.3.2地址空間0

2.3.3地址變換0

2.3.4存儲器類型和屬性0

2.3.5內存順序模型0

2.4CPU編程模型0

2.4.1寄存器0

2.4.2指令集0

2.5鯤鵬處理器與畢昇編譯器0

2.5.1畢昇編譯器的優化特性0

2.5.2FORTRAN語言支持0

2.6小結0

2.7深入閱讀0

2.8習題0

第3章編譯器前端0

3.1詞法分析0

3.1.1記號0

3.1.2正則表達式0

3.1.3有限狀態自動機0

3.1.4Thompson算法0

3.1.5子集構造算法0

3.1.6Hopcroft算法0

畢昇編譯器原理與實踐

目錄

3.2語法分析0

3.2.1上下文無關文法0

3.2.2推導0

3.2.3分析樹0

3.2.4自頂向下分析0

3.2.5自底向上分析0

3.3語義分析0

3.3.1抽象語法樹0

3.3.2符號表0

3.3.3語義檢查0

3.4小結0

3.5深入閱讀0

3.6習題0

第4章中間表示0

4.1中間表示概述0

4.1.1樹狀表示0

4.1.2有向無環圖0

4.1.3控制流圖0

4.1.4依賴圖0

4.1.5線性表示0

4.2中間代碼生成0

4.2.1算術運算符0

4.2.2布爾運算符和關系運算符0

4.2.3數組的存儲和訪問0

4.2.4字符串0

4.2.5結構引用0

4.2.6控制流結構0

4.2.7過程調用

4.3靜態單賦值形式

4.3.1基本概念

4.3.2SSA形式的構建

4.3.3SSA形式的消去

4.4小結

4.5深入閱讀

4.6習題

第5章中端分析與優化

5.1控制流分析

5.1.1控制流分析方法

5.1.2流圖的遍歷

5.2數據流分析及優化

5.2.1優化的基本結論

5.2.2三地址碼中間表示

5.2.3數據流分析

5.2.4程序優化

5.2.5數據流分析的改進

5.3別名分析

5.3.1基於類型的別名分析

5.3.2基於流的別名分析

5.3.3別名信息的使用

5.4過程間分析及優化

5.4.1分析

5.4.2優化

5.5循環優化

5.5.1循環

5.5.2歸納變量

5.5.3數組邊界檢查

5.5.4循環展開

5.5.5畢昇編譯器的其他循環優化

5.6多級存儲優化

5.6.1數據預取

5.6.2數據重組

5.7反饋式優化

5.7.1基本塊重排優化

5.7.2函數內聯優化

5.7.3寄存器溢出策略

5.8小結

5.9深入閱讀

5.10習題

第6章後端與優化

6.1指令選擇

6.1.1瓦片覆蓋

6.1.2最大吞進

6.1.3動態規劃

6.1.4執行效率

6.2指令調度

6.2.1指令級並行

6.2.2依賴圖

6.2.3局部表調度

6.2.4全局調度

6.2.5軟件流水

6.3寄存器分配

6.3.1乾涉圖

6.3.2圖著色

6.3.3Kempe算法

6.3.4溢出

6.3.5接合

6.3.6乾涉的保守性

6.4自動向量化

6.4.1概述

6.4.2畢昇編譯器中的自動向量化

6.5小結

6.6深入閱讀

6.7習題

第7章畢昇編譯器AI自動調優

7.1基本原理

7.1.1迭代自動調優

7.1.2預測性自動調優

7.2畢昇自動調優

7.2.1畢昇自動調優的職責和功能

7.2.2安裝Autotuner

7.3調優方法

7.3.1準備工作

7.3.2使用方法

7.4小結

7.5深入閱讀

第8章畢昇編譯器使用

8.1畢昇編譯器介紹

8.2畢昇編譯器安裝使用

8.2.1環境依賴

8.2.2獲取畢昇編譯器

8.2.3安裝畢昇編譯器

8.2.4使用畢昇編譯器

8.3畢昇編譯器選項說明

8.3.1默認選項

8.3.2指定數學庫

8.3.3指定jemalloc

8.3.4LTO優化

8.3.5浮點運算控制選項

8.3.6自定義優化選項

8.4FORTRAN 語言引導語

8.5GDB調試

8.5.1約定

8.5.2不支持場景

8.5.3通過升級GDB版本解決部分問題