Allocation de registres

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.

Les registres sont des mémoires internes au processeur, généralement capables de contenir un mot machine. Les opérations sur des valeurs rangées dans des registres sont plus rapides que celles sur des valeurs en mémoire vive, quand ce ne sont pas les seules possibles. Mais un processeur compte rarement plus de quelques dizaines de registres, bien trop peu pour toutes les variables d'un programme. Il est donc crucial de choisir avec pertinence les variables qui doivent résider dans les registres à chaque étape de l'exécution. Cela étant difficile dans les premières étapes de la compilation, on commence par faire comme si l'on disposait d'un nombre illimité de registres, puis l'on attribue à ces registres virtuels des registres réels ou des emplacements en mémoire.

Allocation de registres par coloration de graphe

L'une des méthodes classiques d'allocation de registres consiste à ramener le problème à la coloration du graphe d'interférence des variables. Les sommets de ce graphe sont les variables du programme, et deux sommets sont reliés par une arête si les variables correspondantes interfèrent.

On dit que deux variables interfèrent lorsque l'une est définie pendant que l'autre est active (c'est-à-dire susceptible d'être utilisée dans la suite de l'exécution). Deux variables qui interfèrent ne peuvent pas être placées dans le même registre — à une nuance technique près : sur certains processeurs, les registres ne sont pas équivalents. On étend donc aux registres la relation d'interférence, en convenant qu'ils interfèrent tous entre eux, et qu'une variable interfère avec les registres qui lui sont interdits. Ainsi, on ne peut colorer avec le même registre deux variables qui sont voisines dans le graphe d'interférence. Attribuer registres aux variables équivaut à colorer avec couleurs le graphe d'interférences.

Le problème de la -coloration est NP-complet (pour ) et pour un graphe quelconque. Comme pour n'importe quel graphe il est possible de créer un programme dont le graphe d'interférences est , le problème d'allocation de registres est aussi NP-complet. Aussi on utilise en général une heuristique qui fournit de bons résultats pratiques. Elle consiste à supprimer du graphe les sommets faciles à colorer : on cherche dans le graphe un sommet de degré strictement inférieur à . On est certain de pouvoir colorer ce sommet puisque ses voisins utiliseront au plus couleurs. Ainsi on le supprime du graphe et on le garde de côté. Si on arrive à colorer récursivement le graphe simplifié, alors on pourra le réinsérer et le colorer.

Si tous les sommets ont au moins pour degré , plusieurs stratégies sont possibles :

  • on peut continuer la coloration et retirer à chaque étape un sommet de degré minimal, en espérant que deux de ses voisins auront la même couleur, de sorte que l'on parviendra à le colorer à la remontée. Lors de la remontée, on attribue alors à chaque sommet rencontré la première couleur disponible, quitte à dépasser , puis on évalue le coût de rangement en mémoire des variables de chaque couleur, pour affecter à chacune un registre réel ou une case mémoire. Il est possible de faire un peu mieux, en essayant de choisir pour chaque sommet une couleur parmi celles des voisins de ses voisins ;
  • une autre méthode consiste à sélectionner, au contraire, un sommet de degré maximal, dans l'espoir que sa suppression simplifiera considérablement le graphe. Si l'on dispose d'informations sur le coût de mise en mémoire, un meilleur indicateur est le quotient du coût de mise en pile par le degré. Les systèmes d'allocation de registres réels utilisent des heuristiques un peu plus perfectionnées, qui peuvent combiner ces deux méthodes. Notons enfin qu'il est parfois moins coûteux de recalculer une valeur (si les opérandes résident dans des registres, par exemple) que de l'enregistrer pour la relire.

Voir aussi


Read other articles:

Artikel atau sebagian dari artikel ini mungkin diterjemahkan dari Kabupaten Dalseong di en.wikipedia.org. Isinya masih belum akurat, karena bagian yang diterjemahkan masih perlu diperhalus dan disempurnakan. Jika Anda menguasai bahasa aslinya, harap pertimbangkan untuk menelusuri referensinya dan menyempurnakan terjemahan ini. Anda juga dapat ikut bergotong royong pada ProyekWiki Perbaikan Terjemahan. (Pesan ini dapat dihapus jika terjemahan dirasa sudah cukup tepat. Lihat pula: panduan pener...

 

Artikel ini mungkin mengandung riset asli. Anda dapat membantu memperbaikinya dengan memastikan pernyataan yang dibuat dan menambahkan referensi. Pernyataan yang berpangku pada riset asli harus dihapus. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Selfi YammaSelfi Yamma saat menerima penghargaan Anugerah Musik Indonesia 2022LahirSelfiyani7 September 1999 (umur 24)Macanre, Soppeng, Sulawesi Selatan, IndonesiaNama lainSelfi YammaSelfi LIDAPekerjaanPenyanyiAktris...

 

Piece of cloth worn on one's head For other uses, see Headgear. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Headscarf – news · newspapers · books · scholar · JSTOR (November 2020) (Learn how and when to remove this template message) Women's headscarves for sale in Damascus. In Christian cultures, nuns co...

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Certaines informations figurant dans cet article ou cette section devraient être mieux reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes » (décembre 2018). Vous pouvez améliorer la vérifiabilité en associant ces informations à des références à l'aide d'appels de notes. Journalistes et rédacteurs à Radio-Canada/CBC ...

 

School district in California, United States Santa Barbara Unified School District Spanish: Distrito Escolar Unificado de Santa Bárbara[1]Address720 Santa Barbara Street Santa Barbara, California, 93101United StatesDistrict informationTypePublicGradesK–12[2]EstablishedJune 6, 1866[3]BudgetUS$19,397,597 (2010)[4]NCES District ID0601414 [2]Students and staffStudents13,188 (2020–2021)[2]Teachers604.23 (FTE)[2]Staff904.64 (FTE)[2 ...

 

Championnats du monde de cyclisme sur route 1971 Généralités Sport Cyclisme sur route Lieu(x) Mendrisio Date 4 septembre 1971 Site web officiel Site officiel de l'UCI Navigation Leicester 1970 Gap 1972 modifier Les championnats du monde de cyclisme sur route 1971 ont eu lieu le 4 septembre 1971 à Mendrisio en Suisse. Résultats Épreuves : Or Argent Bronze Épreuves masculines Hommes - course en ligne Eddy Merckx Belgique 6 h 39 min 06 s Felice Gimondi Italie m.t. Cyrille Guimard Fr...

Kategoria SuperioreBadan yang mengaturFSHFNegaraAlbaniaKonfederasiUEFADibentuk6 Juni 1930; 93 tahun lalu (1930-06-06)Jumlah tim10Tingkat pada piramida1Degradasi keKategoria e ParëPiala domestikAlbanian CupAlbanian SupercupPiala internasionalUEFA Champions LeagueUEFA Europa Conference LeagueJuara bertahan ligaPartizani (gelar ke-17) (2022–23)Klub tersuksesTirana (gelar ke-26)Pencetak gol terbanyakVioresin Sinani (207 gol)[a]Televisi penyiarOversportRTSHSitus webfshf.org/abissne...

 

HairsprayPoster resmiSutradaraAdam ShankmanProduser Craig Zadan Neil Meron SkenarioLeslie DixonBerdasarkan film Hairsprayoleh John Waters musikal Hairsprayoleh Mark O'DonnellThomas Meehan Pemeran John Travolta Michelle Pfeiffer Christopher Walken Amanda Bynes James Marsden Brittany Snow Queen Latifah Zac Efron Elijah Kelley Allison Janney Nikki Blonsky Penata musikMarc ShaimanSinematograferBojan BazelliPenyuntingMichael TronickPerusahaanproduksi Ingenious Media Zadan/Meron Productions S...

 

German World War II general This article is about the German World War II general. For the German historian, see Erich Marcks (historian). For the German educator and criminologist, see Erich Marks. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Erich Marcks – news · newspapers · books · scholar · JSTOR (No...

Voce principale: Pandemia di COVID-19 negli Stati Uniti d'America. Pandemia di COVID-19 in FloridaepidemiaCasi confermati totali di COVID-19 in Florida per contea a partire dal rapporto del Dipartimento della salute della Florida del 1º dicembre 2020.PatologiaCOVID-19 OrigineWuhan (Cina) Luogo Florida Nazione coinvoltaStati Uniti d'America Periodo1º marzo 2020 -in corso Dati statistici[1]Numero di casi1 161 953 (residenti)19 530 (non residenti)1 1...

 

American businessman, entertainment and manager For other people named Jack Gordon, see Jack Gordon (disambiguation). Jack GordonGordon in 1998BornJack Leon Gordon(1939-11-10)November 10, 1939Springfield, Illinois, U.S.DiedApril 19, 2005(2005-04-19) (aged 65)Scottsdale, Arizona, U.S.Resting placePalm Valley View Cemetery, Las Vegas, NevadaNationalityAmericanOther namesSamuel Isaac Gordon (1981–83)Clifford William Johnson (1983)OccupationsEntertainment managerbusinessmanYears ...

 

Pola umum denah rumah Bubungan Tinggi (Palidangan terletak di tengah-tengah). Palidangan atau Ambin Dalam adalah ruang dalam yang berada di belakang Tawing Halat yang merupakan ruang induk pada jenis-jenis rumah Banjar. Khusus pada Rumah Bubungan Tinggi, ruang ini disebut juga ruang Panampik Panangah. Ruang ini pada rumah Jawa dapat disamakan dengan bangunan/ruang Dalem. Pusat rumah Ruang ini secara kosmologis merupakan pusat rumah atau titik tengah rumah, yang secara filosofi merupakan ruang...

Multi-use stadium in Sydney, New South Wales, Australia Sydney Olympic Park Hockey CentreState Hockey CentreLocationSydney Olympic Park, New South Wales, Sydney, NSWCoordinates33°51′18″S 151°4′5″E / 33.85500°S 151.06806°E / -33.85500; 151.06806OwnerStates Sport Centre TrustCapacity8,000SurfaceSyntheticConstructionBroke groundSeptember 1996OpenedMarch 1998Construction costA$ 15.5mArchitectAncher Mortlock WooleyTenantsHockey NSWNew South Wales Waratahs (AHL) ...

 

Barony in the former District of Cunninghame, now North Ayrshire Giffen CastleBarrmill, North Ayrshire, ScotlandUK grid reference NS377507 Giffen castle in 1835 with the buildings of Mains of Giffen visible to the right-hand side[1]Giffen CastleCoordinates55°43′22″N 4°35′06″W / 55.7229°N 4.5849°W / 55.7229; -4.5849Height40ftSite informationOwnerGiffen Mains FarmControlled byMontgomery clanOpen tothe publicPrivateConditionNo clear rema...

 

American football player (born 1978) American football player Kenny WatsonWatson with the Cincinnati BengalsNo. 32, 33Position:Running backPersonal informationBorn: (1978-03-13) March 13, 1978 (age 46)Harrisburg, Pennsylvania, U.S.Height:6 ft 0 in (1.83 m)Weight:218 lb (99 kg)Career informationHigh school:Harrisburg(Harrisburg, Pennsylvania)College:Penn StateUndrafted:2001Career history Washington Redskins (2001–2002) Cincinnati Bengals (2003–2008) Career NFL...

Film genre Hong Kong action cinema is the principal source of the Hong Kong film industry's global fame. Action films from Hong Kong have roots in Chinese and Hong Kong cultures including Chinese opera, storytelling and aesthetic traditions, which Hong Kong filmmakers combined with elements from Hollywood and Japanese cinema along with new action choreography and filmmaking techniques, to create a culturally distinctive form that went on to have wide transcultural appeal. In turn, Hollywood a...

 

Untuk nama sebuah jurnal, lihat Digital Journalism. Artikel ini perlu dikembangkan dari artikel terkait di Wikipedia bahasa Inggris. (Februari 2024) klik [tampil] untuk melihat petunjuk sebelum menerjemahkan. Lihat versi terjemahan mesin dari artikel bahasa Inggris. Terjemahan mesin Google adalah titik awal yang berguna untuk terjemahan, tapi penerjemah harus merevisi kesalahan yang diperlukan dan meyakinkan bahwa hasil terjemahan tersebut akurat, bukan hanya salin-tempel teks hasil terj...

 

ستوارت بارنابي (بالإنجليزية: Stuart Parnaby)‏  معلومات شخصية الميلاد 19 يوليو 1982 (العمر 41 سنة)[1]درهام الطول 5 قدم 11 بوصة (1.80 م)[2][2] مركز اللعب مدافع الجنسية المملكة المتحدة  معلومات النادي النادي الحالي سبنيمور تاون [الإنجليزية]‏ (assistant manager) مسيرة الشب�...

Palace in St. Petersburg 59°56′39″N 30°19′20″E / 59.944064°N 30.322132°E / 59.944064; 30.322132 The New Michael Palace in the late 1850s The New Michael Palace in 2012 The New Michael Palace (Russian: Ново-Михайловский дворец, romanized: Novo-Mikhailovsky Dvorets) was the third Saint Petersburg palace designed by Andrei Stackenschneider for Nicholas I's children. It was built between 1857 and 1862 on the Palace Embankment, between...

 

Saqueo de Roma (410) Parte de la guerra gótica (408-416)(caída del Imperio romano de Occidente) Representación de los visigodos saqueando RomaFecha 24 de agosto de 410[1]​Lugar Roma.Coordenadas 41°53′N 12°29′E / 41.89, 12.48Resultado victoria de los visigodosBeligerantes Imperio romano de Occidente Visigodos Figuras políticas Honorio Alarico Comandantes Desconocido AlaricoAtaúlfo Fuerzas en combate Escasas ca. 35 000 Bajas Varios cientos Ninguna [edi...