Transfer dilini kaydet - Register transfer language

Olarak bilgisayar biliminin , transfer dili kayıt ( RTL ) bir tür nesne kodunun bir tür ara temsili çok yakın olan (IR) montaj dili , bu tür bir kullanıldığı edilene derleyici . Bir mimarinin kayıt-aktarım seviyesindeki veri akışını tanımlamak için kullanılır . Akademik makaleler ve ders kitapları genellikle mimariden bağımsız bir montaj dili olarak bir RTL biçimi kullanır. RTL , GNU Derleyici Koleksiyonu (GCC), Zephyr ve Avrupa derleyici projeleri CerCo ve CompCert dahil olmak üzere birçok derleyicide belirli bir ara temsilin adı olarak kullanılır .

Tarih

RTL'nin arkasındaki fikir ilk olarak Yeniden Hedeflenebilir Bir Gözetleme Deliği Optimize Edicinin Tasarımı ve Uygulaması'nda açıklandı .

GCC

GCC'de RTL, GIMPLE temsilinden üretilir , GCC orta ucundaki çeşitli geçişlerle dönüştürülür ve ardından assembly diline dönüştürülür.

GCC'nin RTL'si genellikle Lisp S ifadesine benzeyen bir biçimde yazılır :

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

Bu yan etki ifadesi , "138 nolu kütüğün içeriğini, 139 kütüğünün içeriği ile toplayın ve sonucu 140 kütüğünde saklayın" der. SI, her kayıt için erişim modunu belirler. Örnekte "SImode", yani "kayda 32-bit tamsayı olarak eriş".

Oluşturulan RTL dizisi, GCC'nin kod ürettiği işlemcinin özelliklerine bir miktar bağımlıdır. Bununla birlikte, RTL'nin anlamı aşağı yukarı hedeften bağımsızdır: Bir parça RTL'nin hangi işlemci için üretildiğini bilmeden okumak ve anlamak genellikle mümkün olacaktır. Benzer şekilde, RTL'nin anlamı genellikle programın orijinal yüksek seviyeli diline bağlı değildir.

Bir kayıt transfer dili, bir dijital modülün kayıtları arasındaki mikro işlem dizilerini sembolik biçimde ifade etmek için bir sistemdir. Dijital bilgisayarların iç organizasyonunu kısa ve kesin bir şekilde açıklamak için uygun bir araçtır. Dijital sistemlerin tasarım sürecini kolaylaştırmak için de kullanılabilir.

Referanslar

Dış bağlantılar