FACTOID # 18: Alaska spends more money per capita on elementary and secondary education than any other state.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Register transfer language

In computer science register transfer language (RTL) is a term used to describe a kind of intermediate representation (IR) that is very close to assembly language, such as that which is used in a compiler. Academic papers and textbooks also often use a form of RTL as an architecture-neutral assembly language. RTL is also the name of a specific IR used in the GNU Compiler Collection. Image File history File links This is a lossless scalable vector image. ... Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... In computing, an intermediate representation is a data structure that is constructed from input data to a program, and from which part or all of the output data of the program is constructed in turn. ... See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ... A diagram of the operation of a typical multi-language, multi-target compiler. ... The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ...


RTL in GCC

In GCC, RTL is generated from the GIMPLE representation, transformed by various passes in the GCC 'middle-end', and then converted to assembly language. In the GNU Compiler Collection, GIMPLE is an intermediate representation of the program in which complex expressions are split into a three address code using temporary variables. ...


GCC's RTL is usually written in a form which looks like a Lisp S-expression: Lisp is a family of computer programming languages with a long history and a distinctive fully-parenthesized syntax. ... An S-expression (S stands for symbolic) is a convention for representing data or an expression in a computer program in a text form. ...

(set:SI (reg:SI 140) (plus:SI (reg:SI 138) (reg:SI 139)))

This "side-effect expression" says "add the contents of register 138 to the contents of register 139 and store the result in register 140."


The sequence of RTL generated has some dependency on the characteristics of the processor for which GCC is generating code. However, the meaning of the RTL is more-or-less independent of the target: it would usually be possible to read and understand a piece of RTL without knowing what processor it was generated for. Similarly, the meaning of the RTL doesn't usually depend on the original high-level language of the program.


A register transfer language is a system for expressing in symbolic form the microoperation sequences among the registers of a digital module. It is a convenient tool for describing the internal organization of digital computers in concise and precise manner. It can also be used to facilitate the design process of digital systems.


History

The idea behind RTL was first described in: Davidson and Fraser; The Design and Application of a Retargetable Peephole Optimizer; ToPLaS v2(2) 191-202 (April 1980)


External links

  • Register Transfer Language of GNU GCC

  Results from FactBites:
 
Register Transfer Language - Wikipedia, the free encyclopedia (297 words)
Register Transfer Language (RTL) is an intermediate representation used by the GCC compiler.
RTL is used to represent the code being generated, in a form closer to assembly language than to the high level languages which GCC compiles.
RTL is generated from the GCC Abstract Syntax Tree representation, transformed by various passes in the GCC 'middle-end', and then converted to assembly language.
Register Transfer Language - encyclopedia article about Register Transfer Language. (776 words)
Register Transfer Language (RTL) is an intermediate representation In computing, an intermediate representation is a data structure that is constructed from input data to a program, and from which part or all of the output data of the program is constructed in turn.
RTL is usually written in a form which looks like a Lisp Lisp is a reflective, functional programming language family with a long history.
RTL describes the requirements of data and control units in terms of digital logic to execute an assembly language Assembly language or simply assembly is a human-readable notation for the machine language that a specific computer architecture uses.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m