暫存器傳遞語言

暫存器傳遞語言(英語:register transfer language,縮寫為 RTL),又譯為暫存器轉換語言暫存器轉換語言,一種中間語言,使用於編譯器中。

基本介紹

  • 中文名:暫存器傳遞語言
  • 外文名:register transfer language
  • 縮寫:RTL
  • 學科:電子工程
簡介,歷史,GCC,中間語言,

簡介

彙編語言很接近。暫存器傳遞語言被用於描述一個架構中暫存器傳輸級上的數據流。 在學術論文和教科書中,暫存器傳遞語言被認為是一種與架構無關的彙編語言。GCC的中間語言,也被稱為暫存器傳遞語言(RTL),風格類似於LISP。GCC的前端(frontend)會先將程式語言轉譯成RTL,之後再利用後端(backend)轉化成機器代碼。

歷史

1980年,暫存器傳遞語言首次被提出。

GCC

GCC使用的暫存器傳遞語言,採用S-表達式,與LISP類似:
(set (reg:SI 140)     (plus:SI (reg:SI 138)              (reg:SI 139)))

中間語言

中間語言(英語:Intermediate language),在計算機科學中,是指一種套用於抽象機器(abstract machine)的程式語言,它設計的目的,是用來幫助我們分析電腦程式。這個術語源自於編譯器,在編譯器將原始碼編譯為目的碼的過程中,會先將原始碼轉換為一個或多個的中間表述,以方便編譯器進行最佳化,並產生出目的機器的機器語言。通常,中間語言的設計與一般的機器語言有三個不同之處:
  • 每個指令代表僅有一個基本的操作。舉例來說,在微處理器中出現的shift-add定址模式在中間語言不會出現。
  • 指令集內可能不會包含控制流程的資訊。
  • 暫存器可用的數量可能會很大,甚至沒有限制。
最常見的中間語言表述形式,是三位址碼(Three address code)。
這個術語也同時用來代稱一些作為中間層的語言,有些高級語言不會輸出為機器語言,它們僅會輸出這種中間語言,而這些中間語言則會像一般語言一樣,提交給編譯器,編譯為機器語言。這通常被用於讓最佳化的過程更簡單,也用於增進可移植性的能力,改進移植的方式則是利用中間語言的編譯器,可以編譯出許多中央處理器作業系統可使用的機器碼,例如C語言。中間語言的複雜度,通常介於高階語言及低級語言之間,例如彙編語言

相關詞條

熱門詞條

聯絡我們