About: Register allocation     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:Whole100003553, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FRegister_allocation

In compiler optimization, register allocation is the process of assigning local automatic variables and expression results to a limited number of processor registers. Register allocation can happen over a basic block (local register allocation), over a whole function/procedure (global register allocation), or across function boundaries traversed via call-graph (interprocedural register allocation). When done per function/procedure the calling convention may require insertion of save/restore around each call-site.

AttributesValues
rdf:type
rdfs:label
  • Přidělování registrů (cs)
  • Registerzuteilung (de)
  • Allocation de registres (fr)
  • レジスタ割り付け (ja)
  • Registerallocatie (nl)
  • Register allocation (en)
  • Wyciek rejestrów (pl)
  • Распределение регистров (ru)
  • Розподіл регістрів (uk)
  • 暫存器配置 (zh)
rdfs:comment
  • 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 Problem der Registerzuteilung und Auslagerung kann auf das Problem des Graphfärbens reduziert werden, was 1982 von Gregory Chaitin gezeigt wurde. (de)
  • In compiler optimization, register allocation is the process of assigning local automatic variables and expression results to a limited number of processor registers. Register allocation can happen over a basic block (local register allocation), over a whole function/procedure (global register allocation), or across function boundaries traversed via call-graph (interprocedural register allocation). When done per function/procedure the calling convention may require insertion of save/restore around each call-site. (en)
  • レジスタ割り付け(レジスタわりつけ、英: Register allocation)は、プログラム内の多数の変数を少数のCPUレジスタに多重化するコンパイラ最適化技法のひとつである。その目標は、プログラムの実行速度を最大化すべく、なるべく多くのオペランドをレジスタに保持するようにすることである。レジスタ割り付けは基本的なブロックについて行う場合(ローカルレジスタ割り付け)と関数やプロシージャ全体について行う場合(グローバルレジスタ割り付け)がある。レジスタ割り当てとも呼ぶ。 プログラムは、多数の様々なデータを処理することが多い。しかし、CPUの多くはデータを保持するのに使えるレジスタ数は限られている。機械語のオペランドとしてメモリを指定できる場合でも、なるべくレジスタを使った方が高速化される。従って、処理に必要なデータを RAMとレジスタの間で入れ替えてやる必要がある。この操作を spill(スピル、あふれ)と呼ぶ。 レジスタの spill は、マシンが持っているレジスタ数以上の変数が同時に必要とされる場合に発生する。一般にメモリはレジスタよりも遅いため、spill にはコストがかかる。 (ja)
  • Wyciek rejestrów – proces przydzielania dużej liczby zmiennych danego programu do małej liczby rejestrów procesora. (pl)
  • 在的領域裡,暫存器配置(Register Allocation)的用途,在於使一個在較少寄存器數量的CPU可使用較大數量的變數,暫存器配置可使用在一個基本區段(Basic block)(區域暫存器配置)、函數或程序(全域暫存器配置)、或是透過Call Graph進行跨函式邊域分析(跨程序暫存器配置),當完成每個函式或是程序,慣例上會要求每個呼叫函式的位置(Call site)必須插入儲存或是還原。 (zh)
  • Přidělování registrů je jednou z úloh překladačů, které vytváří ze zdrojového kódu strojový kód nebo jazyk symbolických adres, který bude následně na strojový kód převeden. Podstata úlohy vychází z typické situace, kdy počítačový program využívá více proměnných, než kolik je na cílovém procesoru k disposici registrů, nelze tedy každé proměnné přiřadit její registr. Mít všechny proměnné pouze v operační paměti by bylo značně neefektivní, protože operační paměť je ve srovnání s registry velmi pomalá, a navíc řada strojových instrukcí vyžaduje, aby byl některý z jejích operandů v registrech. Úlohou je najít optimální využití registrů pro reprezentaci vždy těch proměnných, s kterými je pracováno, tedy typicky zejména minimalizovat přístup do operační paměti. (cs)
  • Dans un compilateur, l'allocation de registres est une étape importante de la génération de code. Elle vise à choisir judicieusement dans quel registre du processeur seront enregistrées les variables durant l'exécution du programme que l'on compile. (fr)
  • Registerallocatie is een onderdeel van het compileren van de broncode van een computerprogramma. Tijdens de registerallocatie-fase bepaalt de compiler hoe de registers in het uiteindelijke programma gebruikt worden. Het doel van registerallocatie is om op basis van gegevens over het te compileren programma een zo efficiënt mogelijk gebruik van registers te realiseren in het gecompileerde programma. (nl)
  • Распределением регистров в процессе компиляции называется отображение множества большого числа переменных фрагмента компьютерной программы (виртуальных регистров промежуточного представления) на, как правило, небольшое множество физических регистров микропроцессора. Распределение регистров может выполняться в отдельно взятом базовом блоке (локальное распределение регистров) или во всей процедуре (глобальное распределение регистров). (ru)
  • Розподілом регістрів у процесі компіляції називають відображення множини великого числа змінних фрагмента комп'ютерної програми (віртуальних регістрів проміжного подання) на, як правило, невелику множину фізичних регістрів процесора. Розподіл регістрів може виконуватися в окремо взятому базовому блоці (локальний розподіл регістрів) або у всій процедурі (глобальний розподіл регістрів). (uk)
rdfs:seeAlso
foaf:depiction
  • http://commons.wikimedia.org/wiki/Special:FilePath/Chaitin_et_al.'s_iteravite_graph_coloring_based_register_allocator.png
  • http://commons.wikimedia.org/wiki/Special:FilePath/Registers_CPU_i386.png
  • http://commons.wikimedia.org/wiki/Special:FilePath/Shorter_live_ranges_with_SSA_approach.png
dcterms:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
Link from a Wikipage to an external page
Faceted Search & Find service v1.17_git139 as of Feb 29 2024


Alternative Linked Data Documents: ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3330 as of Mar 19 2024, on Linux (x86_64-generic-linux-glibc212), Single-Server Edition (378 GB total memory, 46 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software