Register Allocation

Register Allocation

In der Programmoptimierung bezeichnet die Registerzuteilung (engl. Register Allocation) den Prozess der Zuteilung einer großen Anzahl von Programmvariablen auf eine kleine Anzahl von Registern im Hauptprozessor.

Das NP-vollständige[1] Problem der Registerzuteilung und Auslagerung kann auf das Problem des Graphfärbens reduziert werden, was 1982 von Gregory Chaitin gezeigt wurde.[2]

Siehe auch


  1. Fernando Magno Quintão Pereira, Jens Palsberg, Register Allocation after Classical SSA Elimination is NP-complete (pdf)
  2. Gregory J. Chaitin, Mark A. Auslander, Ashok K. Chandra, John Cocke, Martin E. Hopkins und Peter W. Markstein. Register allocation via coloring. Computer Languages, 6:47-57, 1981

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Register allocation — In compiler optimization, register allocation is the process of multiplexing a large number of target program variables onto a small number of CPU registers. The goal is to keep as many operands as possible in registers to maximise the execution… …   Wikipedia

  • Allocation — may refer to:* Computers ** Delayed allocation ** Block allocation map ** FAT ** IP address allocation ** Memory allocation ** No write allocation ** Register allocation * Economics ** Economic system ** Asset allocation ** Allocation of… …   Wikipedia

  • Processor register — In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are (typically) addressed by mechanisms other than main memory and can be accessed more quickly.… …   Wikipedia

  • File Allocation Table — For other uses, see Fat (disambiguation). FAT Developer Microsoft Full Name File Allocation Table FAT12 (12‑bit version) FAT16/FAT16B (16‑bit versions) FAT32 (32‑bit version with 28 bits used) Introduced …   Wikipedia

  • Instruction scheduling — In computer science, instruction scheduling is a compiler optimization used to improve instruction level parallelism, which improves performance on machines with instruction pipelines. Put more simply, without changing the meaning of the code, it …   Wikipedia

  • Graph coloring — A proper vertex coloring of the Petersen graph with 3 colors, the minimum number possible. In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called colors to elements of a graph… …   Wikipedia

  • Java performance — Programs written in Java have had a reputation for being slower and requiring more memory than those written in natively compiled languages such as C or C++ (see e.g. [cite web url= java is slow.htm title=Why… …   Wikipedia

  • Практическое применение раскраски графов — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Раскраска графов практически применяется (постановку задачи различиных раскрасок здесь обсуждаться не будет) дл …   Википедия

  • Compiler optimization — is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the… …   Wikipedia

  • Chaitin's algorithm — is a bottom up, graph coloring register allocation algorithm that uses cost/degree as its spill metric. It is named after its designer, Gregory Chaitin. Chaitin s algorithm was the first register allocation algorithm that made use of coloring of… …   Wikipedia