İçeriğe atla

Sanal Adres Numarasının Gerçek Adres Numarasına Dönüştürülmesi

Sanal bellekte, adreslerin yapısı “sanal sayfa numarası” (virtual page number) ve “sayfa eklemesi” (page offset) olmak üzere iki kısma ayrılmıştır.

Ana bellekte kullanılan gerçek adres numarası, gerçek adresin üst bölümünü, sayfa eklemesi ise gerçek adresin alt bölümünü oluşturur. Sayfa eklemesindeki bitlerin sayısı sayfanın boyutunu belirler ve değişim göstermez. Sanal adreslerle adreslenebilen sayfa sayısı gerçek adreslerle adreslenen sayfa sayısı ile örtüşmek zorunda değildir; sanal sayfa sayısının gerçek sayfa sayısının üzerinde olması sınırsız boyuttaki bellek izlenimini yaratmada esas alınan noktadır.

Herhangi bir hatayla karşılaşılmadıkça olağan sanal adres dönüştürme işlemi şu şekilde yapılır:

if (ADÖ && önbellek) { veriyi işlemciye ilet; } else if (!önbellek && ADÖ) { işlemciye = Ana_Bellek[ADÖ’ den gelen Gerçek Adres]; } else { olağan dönüştürme işlemini gerçekleştir; }

Adres dönüştürme işleminin hızlandırılması Adres dönüştürme önbelleği (ADÖ) ile olur.

Sanal = Gerçek İşlemi

MVS, z/OS ve benzeri işletim sistemlerinde bazı kısımlar sanal=gerçek biçimine (virtual=real mode )sahiptirler; yani her sanal adres gerçek bir adrese karşılık gelmektedir.Bu kısımlar:

  • Kesme düzenekleri
  • Sayfa hatası denetimi ve sayfa tabloları
  • Giriş/ çıkış kanalları (I/O channels) tarafından erişilen veri arabellekleri (data buffers)
  • Giriş /çıkışların yönetiminde genelgeçer yöntemler uygulamayıp kendi arabelleklerine sahip olan ve çevre birimleri ile doğrudan iletişim kuran izlenceler (program)
  • ayrıca sanal adres bir internet ortamında kurulan bir adrestir örn; www.sanaladres.com

Kaynakça

Dış bağlantılar

İlgili Araştırma Makaleleri

Programlama dillerinde işaretçi, bellek adresi tutmak için tasarlanmış bir türdür.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

İşlemci önbelleği, CPU'nun hafızadaki verilere ulaşma süresini azaltan bir donanımdır. Ana belleğe(RAM) kıyasla küçük, hızlı ve işlemci çekirdeğine yakındır. Sık kullanılan veriler ya da en güncel veriler işlemci önbelleğinde saklanır. Günümüzde pek çok CPU, birden çok seviyede önbellek içerir, bu önbellekler verilerin yanı sıra komutları da bünyesinde tutar.

Arabellek aşımı ya da arabellek taşkını, iki yazılım arasında veri iletişimi için ayrılmış olan bir arabelleğe boyutundan daha fazla veri konulması ile ortaya çıkan durumdur.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

<span class="mw-page-title-main">Etkin sayfalar ön belleği</span> Bilgisayar bileşeni

Etkin sayfalar ön belleği (ESÖ) (Translation Lookaside Buffer ) sanal bellek kullanan işlemcilerde adres dönüştürme işleminin hızlandırılmasını sağlayan bir tekniktir.

Mikroişlemcilerde kural dışı durumlar, programların çalıştırılması esnasında verilen komutlar neticesinde oluşan hatalardır. Bu hatalar nedeniyle program istenilen şekilde çalışmaz. Hatta işlemcinin kilitlenmesine bile sebep olabilir. Bu tür durumlar normal bir işleyiş olmadığından kural dışı durum oluşturur.

Sayfa hatası sanal bellek tekniğinde başvurulan veri o anda ana bellekte bulunamıyorsa oluşur ve aranan sayfa ana bellekte mevcut değil demektir.

Sanal bellekte Sayfa hatası meydana geldiğinde çok yüksek bulamama gecikmesine neden olur. Sanal bellek sistemleri tasarlanırken bu durumun yaratacağı yükü engellemek için Sayfa hatası denetimi sağlanmalıdır.

Ana bellekteki tüm sayfalar kullanımdayken sayfa hatası oluşması durumunda, işletim sistemi bir sayfayı değiştirmek üzere seçmelidir. Sayfa hatalarının en aza indirilmesi amaçlandığından çoğu işletim sistemi yakın bir zamanda kullanılmayacağını varsaydığı bir sayfayı seçer. İşletim sistemlerin bu varsayımları geçmiş durum değerlendirmelerine dayanarak gelecek durumun tahmin edilmesine dayanır. Bu tahminlerde kullanılan algoritmaların başında en uzun zamandır kullanılmayanla değiştirme gelir. İşletim sistemi en uzun zamandır kullanılmayan sayfanın daha yakın bir zamanda kullanılan sayfadan daha az gerekli olduğu varsayımı yaparak uzun zamandır kullanılmayan sayfayı istenen sayfayla değiştirmek üzere seçer.

MIPS R2000 Adres Dönüştürme Önbelleği, DECStation 3100'de kullanılan MIPS R2000 her ne kadar basit bir uygulamaya sahip olsa da özyapısı günümüz adres dönüştürme belleklerininkine çok benzerdir. Bellek sistemi 4-KB sayfalar ve 32-bitlik adres uzayına sahiptir. Dolayısıyla, sanal sayfa numaraları 20 bit uzunluktadır. Sanal adres ile gerçek adres aynı boyutlara sahiptir. Adres dönüştürme önbelleği (ADÖ) 64 kayıt tutabilir ve tam eşlemelidir. ADÖ buyruk ve veri başvuruları tarafından paylaşılır. Her kayıt 64 bit genişliğindedir ve 20 bitlik etikete sahiptir ki bu etiket kaydın ADÖ' de tutulan sanal sayfa numarasıdır. Sanal sayfa numarasına karşılık gelen gerçek sayfa numarası da 20 bit uzunluğundadır ve geçerli bit, kirli bit gibi sayman bitlerine yer verir.

<span class="mw-page-title-main">Sayfa tablosu</span>

Sanal bellekte sayfalar, belleği dizinleyen bir tablo kullanılarak yerleştirilirler. Bu yapı “sayfa tablosu ” olarak adlandırılır. Bellekte tutulan sayfa tablosu sanal bellek adresinin numarasına göre dizinlenmiştir ve ona karşılık gelen gerçek sayfa numarasını içerir. Her program, sanal adres uzayını, ana bellekteki bellek uzayına dönüştüren kendine ait bir sayfa tablosuna sahiptir. Sayfa tablosu, ana bellekte mevcut olmayan sayfaların kayıtlarını da tutabilir. Her sayfa tablosunda geçerli bit tutulur. Eğer bu bit mantıksal sıfıra eşit ise sayfa ana bellekte mevcut değil demektir ve “sayfa hatası ” oluşur. Eğer bit mantıksal bire işaret ediyorsa sayfa ana bellekte mevcut ve geçerli bir fiziksel adrese sahip demektir.

Bir sanal bellek sisteminde, bir sonraki sıradüzene tümüne yazmanın (write-through) yaratacağı gecikme çok büyük olduğundan bunu karşılamak bir ara bellekle sağlanamaz. Bunun yerine, geri yazma (write-back) yöntemi kullanılır. Bellekte sadece bir sayfa yenisiyle değiştirildiğinde sadece o sayfa kopyalanır. Burada kullanılan teknik bir alt seviyedeki sıradüzene yazma tekniğine geri kopyalama(copy back) benzerdir.

<span class="mw-page-title-main">Alpha 21064</span>

Alpha 21064, Alpha(Alpha APX olarak ortaya çıkan) buyruk kümesi mimarisini(ISA) oluşturan Digital Equipment Corporation tarafından geliştirilmiş bir mikroişlemcidir. 1994 yılında ismi değiştirilmeden önce DECchip 21064 olarak bilinirdi.Ayrıca EV4 kod adıyla da bilinmektedir. 1992 şubat ayında tanıtılmış ve aynı yıl eylül ayında yeni sürüm olanağı sağlanmıştır.21064, ilk ticari Alpha ISA uygulamasıdır. Ayrıca Ekim 1993'te, 21064'ten türeyen Alpha 21064A ticari amaçla kullanılan ilk mikroişlemci olmuştur.

NetBurst, İntel'in 2000 yılında piyasaya sürdüğü Pentium 4 işlemci markasının mikromimarisine verilen isimdir. 2006 Temmuz'unda Core mikromimarisinin çıkışına kadar İntel işlemcilerin mikromimarisi olmuştur. Selefi P6 mikromimarisine göre en önemli özelliği derin boru hattı yapılanmasıyla avantaj sağladığı yüksek saat sıklığıdır. Temel olarak dört ana parçadan oluşmaktadır: Sıralı(ing. In-order) Ön-Uç(ing. Front-end), Sırasız(ing. out-of-order) yürütme birimi, Tam sayı ve kayan nokta yürütme birimleri ve bellek altdizgesi.

<span class="mw-page-title-main">Nehalem (mikromimari)</span>

Nehalem, İntel firmasının Eylül 2008'de piyasaya sürülen Core i7 işlemcisiyle birlikte kullanılmaya başlanmıştır. 2011'de Sandy Bridge mikromimarisi sunulana kadar İntel'in en gelişmiş mikromimarisi olarak piyasada kalmıştır. Selefi Core mikromimarisine göre paralelliği ve saat frekansını arttırmış, Core mikromimarisinde İntel'in kullanmadığı fakat daha önce NetBurst'de kullanılan Hyper Threading teknolojisi Nehalem ile tekrar kullanılmaya başlamıştır. Nehalem'le birlikte Core mikromimarisinde terkedilmiş olan üçüncü seivye bir önbellek de yonganın içerisine eklenmiştir. İntel, Nehalem ile ilk defa bellek denetim birimini işlemci yongasının içine koymuş ve front-side bus dan ayırmıştır.

<span class="mw-page-title-main">Harvard mimarisi</span>

Harvard mimarisi, veri ve komutların Merkezi İşlem Birimine giden kanallarının ayrılması ile oluşturulmuş MİB mimarisidir. İsmini ilk kez bu mimariyi kullanan bilgisayar Harvard Mark I'den almıştır. Bu mimariyi kullanan makinalar, veriler ile komutlar arasında herhangi bir köprü bulundurmazlar. Veri adresi 8-bit iken program (komut) adresi genellikle 14-bittir.

Bellek tutarlılığı, ortak bir bellek alanı paylaşan bir veya daha fazla işlemci veya çekirdek içeren bilgisayar sistemlerinin tasarımını etkileyen bir konudur.