+ All Categories
Home > Documents > M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c...

M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c...

Date post: 07-Feb-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
60
Transcript
Page 1: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

M�KRO��LEMC�LERDE SANAL ADRESLERDEN

YARARLANILARAK GE�C� HATALARA KAR�I KORUMA

SA�LANMASI

YAMAN ÇAKMAKÇI

YÜKSEK L�SANS TEZ�

B�LG�SAYAR MÜHEND�SL�G�

TOBB EKONOM� VE TEKNOLOJ� ÜN�VERS�TES�

FEN B�L�MLER� ENST�TÜSÜ

TEMMUZ 2012

ANKARA

Page 2: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Fen Bilimleri Enstitü onay�

Prof. Dr. Ünver KAYNAK

Müdür

Bu tezin Yüksek Lisans derecesinin tüm gereksinimlerini sa§lad�§�n� onaylar�m.

Doç. Dr. Erdo§an Do§du

Anabilim Dal� Ba³kan�

Yaman ÇAKMAKÇI taraf�ndan haz�rlanan M�KRO��LEMC�LERDE SANAL

ADRESLERDEN YARARLANILARAK GE�C� HATALARA KAR�I KO-

RUMA SA�LANMASI adl� bu tezin Yüksek Lisans tezi olarak uygun oldu§unu

onaylar�m.

Doç. Dr. O§uz Ergin

Tez Dan�³man�

Tez Jüri Üyeleri

Ba³kan : Yrd. Doç. Dr. Hüsrev Taha Sencar

Üye : Doç. Dr. O§uz Ergin

Üye : Doç. Dr. Re³it �enda§

ii

Page 3: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

TEZ B�LD�R�M�

Tez içindeki bütün bilgilerin etik davran�³ ve akademik kurallar çerçevesinde elde

edilerek sunuldu§unu, ayr�ca tez yaz�m kurallar�na uygun olarak haz�rlanan bu

çal�³mada orijinal olmayan her türlü kayna§a eksiksiz at�f yap�ld�§�n� bildiririm.

Yaman ÇAKMAKÇI

iii

Page 4: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Üniversitesi : TOBB Ekonomi ve Teknoloji Üniversitesi

Enstitüsü : Fen Bilimleri

Anabilim Dal� : Bilgisayar Mühendisli§i

Tez Dan�³man� : Doç. Dr. O§uz Ergin

Tez Türü ve Tarihi : Yüksek Lisans � Temmuz 2012

Yaman ÇAKMAKÇI

M�KRO��LEMC�LERDE SANAL ADRESLERDENYARARLANILARAK GE�C� HATALARA KAR�I KORUMA

SA�LANMASI

ÖZET

Bu tez çal�³mas�nda bir sistemdeki etkin sayfalar önbelle§i, �ziksel yazmaç dosyas�ve program sayac� gibi sanal adres saklayan yap�lar�n olu³abilecek geçici hatalarakar³� korunmas�n� sa§layan yeni bir yöntem önerilmektedir. Çal�³ma geçicihatalar�n sanal adres saklayan yap�lardaki etkilerini göstererek yola ç�kmaktad�r.Önerilen çözüm, ba§lama zaman�nda sanal adreslerin atanmas�nda do§rusalblok kodlay�c� kulllan�lmas�d�r. Bahsi geçen kodlay�c�n�n sanal adreslerin sayfanumaras� k�sm�n�n atanmas�nda kullan�lmas� ve bu kodlay�c�n�n sayfa hatas�kotar�c�s�na yerle³tirilmi³ bir çözücü ile desteklenmesi sayesinde sistemin hatalarakar³� tahammüllünün art�r�ld�§� gözlemlenmi³tir. Ayr�ca, donan�mda gerçeklen-mi³ çözücüler kullan�larak program sayac� ve �ziksel yazmaç dosyas�na kodlamayükü getirmeden hata düzeltici kodlar�n sa§lad�§� faydadan yararlan�labilinmesiöngörülmü³tür.Bu tezin temel katk�s� incelenen i³lemci yap�lar�n�n MHAE'lerinde elde edilendü³ü³tür. etkin veri sayfalar� önbelle§i 42.5%, etkin buyruk sayfalar� önbelle§i40.3%, program sayac�nda 69.2% ve �ziksel yazmaç dosyas�nda 33.3% düzeyindebir iyile³tirme sa§lanm�³t�r.

Anahtar Kelimeler: Hataya dayan�kl�l�k, Sanal adresleme, Do§rusal blokkodlar, geçici hatalar.

iv

Page 5: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

University : TOBB University of Economics and Technology

Institute : Institute of Natural and Applied Sciences

Science Programme : Computer Engineering

Supervisor : Associate Prof. O§uz Ergin

Degree Awarded and Date : M.Sc. � July 2012

Yaman ÇAKMAKÇI

EXPLOITING VIRTUAL ADDRESSES FOR ACHIEVING FAULTTOLERANCE IN MICROPROCESSORS

ABSTRACT

In this thesis a novel method to protect a system against errors resulting from softerrors occuring in the virtual address storing structures such as translation bu�ers,physical register �le and the program counter. The work is motivated by showinghow soft errors impact the structures that store virtual addresses. A solution isproposed by employing linear block encoding methods to be used as a virtualaddressing scheme at link time. Using the encoding scheme to assign virtualpage numbers for virtual addresses, it is shown that the system can tolerate softerrors using software with the help of the discussed decoding techniques appliedto the page fault handler. Hardware solutions can also be applied at the programcounter and the physical regiser �le providing ECC protection without the burdenof using circuit level encoding.The main contribution of this thesis is the decreasing of AVF for data translationbu�er by 42.5%, instruction translation bu�er by 40.3%, program counter by69.2% and physical register �le by 33,3%.

Keywords: Fault tolerance, Virtual addressing, Linear block codes, Soft Errors.

v

Page 6: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

TE�EKKÜR

Bu çal�³may� gerçekle³tirmemde eme§i olan dan�³man�m O§uz Ergin'e ve beni her

zaman destekleyen aileme te³ekkür ederim.

vi

Page 7: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

��NDEK�LER

1 G�R�� 2

2 TEMEL KONULAR 4

2.1 Mikroi³lemci Mimarisi . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Boru Hatt� . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.2 Çok Yollu �³lemciler . . . . . . . . . . . . . . . . . . . . . 6

2.1.3 Dallanma öngörüsü . . . . . . . . . . . . . . . . . . . . . . 8

2.1.4 Yazmaç Yeniden Adland�rmas� . . . . . . . . . . . . . . . . 9

2.1.5 Bellek S�ralama . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.6 Program Sayac� . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Mimari Hataya Aç�kl�k Etkeni . . . . . . . . . . . . . . . . . . . . 12

2.3 Sanal Adresleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Do§rusal Blok Kodlar . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 �L��K�L� ÇALI�MALAR 16

4 Önerilen Hata Düzeltme Yöntemi 19

vii

Page 8: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

4.1 Ba§lay�c� Üzerinde Gerçeklenmi³ Döngüsel Kodlay�c� . . . . . . . 24

4.2 Önerilen Yöntemin �leti³im Sistemlerine Benzerli§i . . . . . . . . . 27

4.3 Donan�m Üzerinde Gerçeklenmi³ Sendrom Çözme . . . . . . . . . 29

5 DENEYSEL SONUÇLAR 31

5.1 Deney Ortam� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6 SONUÇ 39

EKLER 46

A Hata Sayfa Kotar�c�s� Üzerinde Gerçeklenmi³ Çözücünün Kay-

nak Kodu 47

ÖZGEÇM�� 49

viii

Page 9: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

�EK�LLER�N L�STES�

2.1 Boru hatt� evreleri . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Çok yollu i³lemci mimarisi . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Veri ba§�ml�l�klar� . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Sanal adresten �ziksel adrese çevirim . . . . . . . . . . . . . . . . 14

4.1 Fiziksel olarak dizinlenmi³ sanal etiketli adres . . . . . . . . . . . 20

4.2 Program sayac�nda bit hatas� olu³mas� . . . . . . . . . . . . . . . 22

4.3 Fiziksel yazmaçta bit hatas� olu³mas� . . . . . . . . . . . . . . . . 22

4.4 SPEC2006 ölçüm programlar�n�n kulland�klar� sayfa say�lar� . . . 23

4.5 Buyruk s�n��ar�n�n da§�l�mlar� . . . . . . . . . . . . . . . . . . . . 24

4.6 Bir program�n adreslenme ya³am döngüsü . . . . . . . . . . . . . 25

4.7 �letilecek bilginin kodlanmas� ve çözülmesi . . . . . . . . . . . . . 28

5.1 Sayfa hata kotar�c�s�nda gerçeklenmi³ sendrom çözücünün ba³ar�ma

etkisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2 EBSÖ için MHAE'deki azalma . . . . . . . . . . . . . . . . . . . . 33

5.3 EVSÖ için MHAE'deki azalma . . . . . . . . . . . . . . . . . . . 34

5.4 Fiziksel yazmaç dosyas� için MHAE'deki azalma . . . . . . . . . . 37

ix

Page 10: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

5.5 Program sayac� için MHAE'deki azalma . . . . . . . . . . . . . . 37

x

Page 11: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

�ZELGELER�N L�STES�

2.1 Boru hatt�n�n i³leyi³i . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Hamming (7,4,3) kod kelimeleri . . . . . . . . . . . . . . . . . . . 15

4.1 Örnek program adreslemesi . . . . . . . . . . . . . . . . . . . . . 20

4.2 Örnek ESÖ sat�rlar� . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.3 Kodlanm�³ adresler kullanan program . . . . . . . . . . . . . . . . 26

4.4 Yazma eri³imlerinin toplam eri³imlere oran� . . . . . . . . . . . . 30

5.1 Ölçüm programlar� aç�klamalar� . . . . . . . . . . . . . . . . . . . 36

5.2 Benzetim ortam� de§i³kenleri . . . . . . . . . . . . . . . . . . . . . 38

xi

Page 12: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

K�saltma K�saltma(�ng) Aç�klama �ngilizce

MHAE MHAE Mimari Hataya Aç�kl�kEtkeni

Architectural Vulnera-bility Factor

MDDY MDDY Mimari DüzeyindeDo§ru Yürütüm

Architecturally CorrectExecution

PHAE PVF Program Hataya Aç�kl�kEtkeni

Program VulnerabilityFactor

DHAE HVF Donan�m Hataya Aç�k-l�k Etkeni

Hardware VulnerabilityFactor

SAU VAS Sanal Adres Uzay� Virtual Address Space

YSY WAW Yazma Sonras� Yazma Write After Write

OSY WAR Okuma Sonras� Yazma Write After Read

FDH DUE FarkedilenDüzeltilemeyecekHatalar

DetectableUnrecoverable Errors

GVY SDC Gizli Veri Yozla³mas� Silent Data Corruption

ESÖ ESÖ Etkin Sayfalar Önbelle§i Translation LookasideBu�er

EVSÖ DESÖ Etkin Veri Sayfalar� Ön-belle§i

Data Translation Looka-side Bu�er

EBSÖ IESÖ Etkin Buyruk Sayfalar�Önbelle§i

Instruction TranslationLookaside Bu�er

FSN PPN Fiziksel Sayfa Numaras� Physical Page Number

SSN VPN Sanal Sayfa Numaras� Virtual Page Number

TBÇV SIMD Tek Buyruk Çoklu Veri Single Instruction Mul-tiple Data

1

Page 13: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

1. G�R��

Artan saat vuru³ s�kl�klar�yla desteklenen kayda de§er ba³ar�m art�³lar�, daha

ufak boyutlarda üretim yap�labilmesi ve dü³ük kaynak gerilimleri, geçici hatalar

olarak bilinen sorunlar�n yayg�n olarak gözlemlenmesine sebep olmu³tur. Geçici

hatalar [39][18] alfa �³�mas� sonucu ortaya ç�kan alfa parçac�klar�n�n ve kozmik

�³�nlarda bar�nan yüksek enerjili nötrönlar ile protonlar�n i³lemci üzerindeki

saklama alanlar�na çarpmas� sonucu ortaya ç�kmaktad�rlar. Bu parçac�klar�n

çarpt�klar� s�§an�n dolmas�na veya bo³almas�na sebep olmalar�ndan ötürü yarat-

t�klar� hatalar kal�c� de§ildir. Geçici hatalar�n i³lemciler üzerinde yayg�n olarak

görülmeleriyle birlikte, güvenilirlik de ba³ar�m ve enerji tasarrufu ile beraber

i³lemci tasar�m�n�n temel tasar�m ilkesi olarak kabul edilmeye ba³lanm�³t�r. Yonga

üzerindeki kullan�labilir silikon alan�n art�³� ile birlikte geçici hata sorunun ileride

art�³ gösterece§i öngörülmektedir[11][1]. Geçici hatalara duyarl� sistemlerde bu

hatalardan korunmak için yararlan�labilecek yöntemler kapsaml� bir ³ekilde [10]

ile sunulmu³tur.

Bilimsel yönteme göre incelenen olgular�n ölçülebilir olmas� büyük önem te³kil

etmektedir. Bir i³lemci yap�s�n�n geçici hatalara kar³� dayan�kl�l�§� Mimari Hataya

Aç�kl�k Etkeni (MHAE)[28] ile belirtilir. Donan�msal yap�lar�n MHAE'lerinin

ölçülmesi için Mimari Düzeyinde Do§ru Yürütüm (MDDY) analizi yöntemi

kullan�l�r[2]. MDDY bitleri saklanan bir de§erin hata sonucu olu³an bir

de§i³iminin program�n do§rulu§unu etkileyip etkilemedi§ini belirdir. Örne§in,

öngörücü kullanmayan bir sistemin program sayac�n�n bütün bitleri çal�³ma

zaman�n�n yakla³�k olarak %100'ünde MDDY bitleridir. Program sayac�nda

olu³acak herhangi bir bit de§i³imi program�n ak�³�n� tamamen de§i³tirecek ve

2

Page 14: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

yanl�³ bir ç�kt�ya sebep olacakt�r.

Çe³itli ara³t�rmac�lar�n MHAE'yi temel alarak ortaya ç�kard�klar� farkl� ölçüm

yöntemleri de geli³tirilmi³tir. MHAE hata maskelemeyi de dikkate alacak ³ekilde

Program Hataya Aç�kl�k Faktörü (PHAE)[37] olarak geni³letilmi³tir. Ard�ndan

Donan�m Hataya Aç�kl�k Faktörü (DHAE)[38] MHAE ve PVF olgular�n� bir-

le³tirmek için geli³tirilmi³tir.

Derleyiciler, tan�mlanm�³ bir dildeki kaynak program�n farkl� bir hedef dildeki

dengine tercüme etmeye yarayan programlard�r. Derleyiciler sayesinde yaz�l�m-

c�n�n üst seviye bir programlama dilinde kolayca ifade edebilece§i kavramlar�n

i³lemcinin çal�³t�rabilece§i makine diline çevrilmesi ve makine dilinin karma³�k-

l�§�ndan uzak bir ³ekilde yap�lacak i³e odaklanmas� mümkün k�l�nmaktad�r. Bu

temel özelliklerinin yan�nda, olu³turduklar� yürütülebilir program�n ba³ar�m�n�n

yüksek, kod boyutunun küçük olmas� önemlidir. Fazla yayg�n olmamakla birlikte

derleyici üzerinden sistemin geçici hata tolerans�n�n artt�r�lmas�n�n mümkün

oldu§u farkl� çal�³malarda gösterilmi³tir [3][25][22].

Bu tezde bir sanal adres uzay�ndaki (SAU) sanal adreslerin içindeki sayfa

numaralar�n�n do§rusal blok kodlar kullan�larak ba§lama zaman�nda kodlanmas�

ve daha sonra yaz�l�m ve donan�m üzerinde gerçeklenmi³ sendrom çözücüler kul-

lan�larak sistemin içinde bulunan farkl� yap�lar�n MHAE'sinin nas�l dü³ürülebile-

ce§i anlat�lmaktad�r.

Çal�³man�n devam�nda 2. bölümde çal�³ma içinde kullan�lacak kavramlar

aç�klanm�³t�r. 3. bölüm derleyici ve i³lemci mimarisi etkile³imi ile ili³kili

çal�³malar�n bir özetinden olu³maktad�r. Daha sonra, 4. bölümde önerilen yöntem

anlat�lm�³t�r. 5. bölümde deneysel sonuçlar�n bir de§erlendirilmesi ve 6. bölümde

çal�³man�n ileride nas�l ³ekillenebilece§iyle ilgili yorumlar yer almaktad�r.

3

Page 15: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

2. TEMEL KONULAR

Bu bölümde yap�lan tez çal�³mas�n�n kapsam�nda anla³�lmas� gereken konular ile

ilgili temel bilgiler yer alacakt�r.

2.1 Mikroi³lemci Mimarisi

Bir bilgisayar program� buyruklar silsilesi olarak tan�mlan�r. Buyruklar mimariye

göre farkl�l�k göstermekle birlikte program�n anlam� mimariler aras�nda de§i³iklik

göstermemektedir. Mikroi³lemcinin görevi verilen program�n s�ras�n� bozmadan

buyruklar� i³letmektir. Bir mikroi³lemci mimarisinin kendi içinde ba³ar�m�n�

belirleyen en temel etken bir saat vuru³unda i³letebildi§i buyruk say�s�d�r.

Ba³ar�m� mikroi³lemci mimarileri aras�nda de§erlendirmek için a³a§�daki den-

klemden yararlan�labilir:

Ba³ar�m = 1buyruk say�s� ×

buyruksaat vuru³u ×

1saat vuru³ s�kl�§�

Burada buyruk say�s�n� belirleyen etkenlerden ilki buyruk kümesi mimarisidir.

Örne§in baz� mimarilerde karma³�k görevleri tek bir buyruk yerine getirebilirken,

baz� mimariler bu görevi yerine getirmek için birden fazla buyruk kullanmak

durumunda kalabilirler. �kinci etken ise derleyicinin üretti§i kod boyutudur.

Derleyicinin program�n anlam�n� bozmadan en az buyrukla ifade edebilece§i kod,

o program için ba³ar�m aç�s�ndan ideal buyruk say�s�n� belirtir.

4

Page 16: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Bellektengetir

Çöz Yürüt Bellek Yaz

�ekil 2.1: Boru hatt� evreleri

Ba³ar�m� artt�rman�n bir di§er yolu da saat vuru³ s�kl�§�n� artt�rmakt�r. Fakat

bu yöntemin güç tüketimini istenmeyecek düzeylerde artt�rmas�n�n sonucu olarak

yüksek saat vuru³ s�kl�§�na sahip tek çekirdekli i³lemcilerden, daha basit yap�da

ve daha dü³ük saat vuru³ s�kl�§�nda çal�³an çok çekirdekli i³lemcilere bir yönelim

olu³mu³tur[29].

2.1.1 Boru Hatt�

�lk i³lemci tasar�mlar� bir saat vuru³unda bir buyruk i³lenecek ³ekilde yap�lm�³t�r.

Daha sonra bir buyruk i³lenirken gerçekle³en a³amalar parçalara ayr�larak

sistemin ayn� anda farkl� evrelerde birkaç buyruk i³lemesine olanak sa§layabilen

bir yöntem olarak boru hatt� tekni§i geli³tirilmi³tir.

Boru hatt� evreleri �ekil 2.1 ile gösterilmi³tir. Bu evreleri aç�klamak gerekirse:

1. Çek: Program sayac�n�n belirtti§i adresteki buyru§u bellekten çeker ve

program sayac�n� i³lemci buyruk boyutu kadar artt�r�r.

2. Çöz: Bu evrede buyru§un kaynak i³lenenleri yazmaç dosyas�ndan okunurlar.

Ayr�ca, buyruk bir sonuç üretiyorsa bu sonucu yazabilece§i bir yazmaç

atan�r. Buyru§un hangi yürütme birimine gönderilece§i de bu evrede

belirlenir.

3. Yürüt: Bu a³amada buyru§un ihtiyac� olan yürütme, ilgili yürütme

biriminde gerçekle³tirilir.

5

Page 17: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 2.1: Boru hatt�n�n i³leyi³iZaman(Saat vuru³u)

Buyruk 1 2 3 4 5 6 7 8 9

i Çek Çöz Yürüt Bellek Yaz 0 0 0 0

i+1 0 Çek Çöz Yürüt Bellek Yaz 0 0 0

i+2 0 0 Çek Çöz Yürüt Bellek Yaz 0 0

i+3 0 0 0 Çek Çöz Yürüt Bellek Yaz 0

i+4 0 0 0 0 Çek Çöz Yürüt Bellek Yaz

4. Bellek: Bellekten okuma ve belle§e yazma i³lemleri bu a³amada gerçek-

le³tirilir.

5. Yaz: Buyruk taraf�ndan üretilen bir sonuç var ise bu sonuç çöz a³amas�nda

atanm�³ olan yazmaça yaz�l�r.

Buyruklar�n boru hatt� içinde zamana göre nas�l ilerledi§i Çizelge 2.1 ile

gösterilmi³tir. Çizelgede görüldü§ü üzere 5nci saat vuru³uyla beraber boru

hatt�nda bulunan buyruk say�s� 5'e ç�km�³t�r. Bundan sonra, boru hatt�

duraklamalar� ve bo³altmalar� olmad�§� varsay�larak, her saat vuru³u yeni gelen

buyrukla beraber boru hatt�n�n içinde 5 buyruk olmaya devam edecektir.

Boru hatt� evreleri ile ilgili daha fazla bilgi için [31] referans�na ba³vurulabilir.

2.1.2 Çok Yollu �³lemciler

Çok yollu i³lemciler bir saat vuru³unda birden fazla buyruk i³letilebilmesine

olanak sa§layan i³lemcilerdir. Burada temel ilke buyruk düzeyindeki par-

alelliklerden(yani birbirinden ba§�ms�z buyruklardan) yararlanarak ba³ar�m�n

artt�r�lmas�d�r. Çok yollu i³lemler boru hatt�na birden fazla buyruk çekebilir,

ayn� anda birden fazla buyru§u çözebilir ve bunlar� farkl� yürütme birimlerine

da§�tabilirler.

6

Page 18: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

�ekil 2.2: Çok yollu i³lemci mimarisi

Buyruk i³lenmesi aç�s�ndan üç ayr� ak�³tan söz etmek mümkündür. Bunlar:

• Buyruk ak�³�: Dallanma buyruklar�n�n i³lenmesinde izlenen yoldur. Uygu-

lanan iyile³tirme yöntemi dallanma öngörüsüdür.

• Yazmaç veri ak�³�: Aritmetik mant�k buyruklar�n�n i³lenmesinde izlenen

yoldur. Burada yazmaç yeniden kullan�m� ve dinamik zamanlama yöntem-

leri kullan�lmaktad�r.

• Bellek veri ak�³�: Yükleme/saklama buyruklar�n�n i³lenmesinde izlenen

yoldur. Yükleme atlatma ve yükleme iletme yöntemleri kullan�lmaktad�r.

Bu üç ak�³ birbirlerinden temiz bir ³ekilde ayr�lmam�³ olup, ayr� ak�³lar olarak

ifade edilmelerine ra§men birinde olu³an bir de§i³iklik di§erine olumlu veya

olumsuz bir ³ekilde sirayet edebilmektedir.

7

Page 19: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

2.1.3 Dallanma öngörüsü

Dallanma öngörüsü kullanmayan sistemlerde, ko³ullu bir dallanma buyru§u

yürütme birimine girdi§inde yürütme tamamlanana kadar boru hatt�n�n çal�³-

mas�na ara verilir. Dallanma buyru§u tamamland�ktan sonra boru hatt�na

buyruk çekilmeye devam edilir. Bu durum ba³ar�m� dü³ürücü bir etki yarat-

maktad�r.

Dallanma öngörüsü, bir dallanma buyru§u boru hatt�nda yürütülürken, boru hat-

t�n�n çal�³mas�na devam edebilmesini sa§lamak için ortaya at�lm�³ bir �kirdir. Be-

lirlenmi³ bir tak�m kriterlere göre dallanma buyru§unun nas�l sonuçlanaca§� tah-

min edilerek boru hatt�ndaki duraksama engellenebilir. Dallanma öngörüsünde

kullan�lan iki temel kavram olan dallanma hedef tahmini ve dallanma ko³ul

tahmini a³a§�da aç�klanm�³t�r.

Dallanma hedef tahmini, i³letilen dallanma buyru§unun atlayaca§� adresi ke-

stirmek için kullan�lan bir yöntemdir. Dallanman�n hangi adrese gidece§ini

hesaplamak uzun bir i³lem oldu§u için dallanma hedef belle§i(BTB) ad�nda bir

önbellek kullan�l�r. Bu önbellek dallanman�n gidece§i adresi do§rudan sa§lad�§�

için, bu adresin hesaplanmas� dolay�s�yla olu³an saat vuru³u kay�plar� engellenir.

Dallanma ko³ul tahmini ise i³letilen dallanma buyru§unun hangi dal� seçece§ini

kestirmek için kullan�lmaktad�r. Burada kullan�lan temel yöntemler basit karara

dayal� ve geçmi³e dayal� olarak ikiye ayr�labilir.

Basit karara dayal� yöntemler belirlenmi³ bir kritere göre dallanman�n ilerleye-

ce§ini varsayarak buyruk çekilmesine devam edilmesini saplayan yöntemlerdir.

Bu basit yöntemler bütün ko³ullu dallanmalar�n do§ru sonuçlanaca§� veya en

k�sa dallanman�n seçilece§i gibi basit varsay�mlara dayanan yöntemlerdir.

Geçmi³e dayal� dallanma öngörüsünde dallanma buyru§unun daha önceden

8

Page 20: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

izledi§i yollar bir geçmi³ tablosunda tutularak, dallanman�n hangi yolu seçece§ine

dair kestirimler bu tablodaki veriler �³�§�nda yap�l�r.

Bu konu ile ilgili daha ileri yöntemler bulunmkla beraber, bu çal�³mada bunlara

yer verilmeyecektir. �lgilenen okuyucu [35] [9][36] [14] kaynaklar�ndan konuyla

ilgili daha detayl� bilgi edinebilir.

2.1.4 Yazmaç Yeniden Adland�rmas�

Yazmaç yeniden adland�r�lmas� buyruk düzeyi paralellikten yararlanmak için

geli³tirilmi³ olan bir s�ras�z yürütme tekni§idir. Bu teknik Okuma Sonras�

Yazma (OSY) ve yazma sonras� yazma (YSY) gibi hatal� ba§�ml�l�klar� ortadan

kald�r�r. Ard�³�k buyruklar�n sonuç i³lenenleri ve/veya kaynak i³lenenleri aras�nda

olan ba§�ml�l�klar veri ba§�ml�l�klar� olarak adland�r�l�r. Bunlar üç ayr� s�n�fa

ayr�lm�³t�r:

1. Gerçek ba§�ml�l�k(Yazma sonras� okuma): Burada b1 buyru§undan sonra

gelen b2 buyru§unun kaynak i³lenenleri b1 buyru§unun sonuç i³leneniyle

ayn� ise buna gerçek ba§�ml�l�k denir.

2. Kar³�t ba§�ml�l�k(Okuma sonras� yazma): b1 buyru§unun kaynak i³lenen-

lerinden biri b2 buyru§unun sonuç i³leneni ise bu durum kar³�t ba§�ml�l�k

olarak adland�r�l�r.

3. Ç�kt� ba§�ml�l�§�(Yazma sonras� yazma): b1 buyru§unun sonuç i³leneni ile

b2 buyru§unun sonuç i³leneni ayn� ise bu duruma ç�kt� ba§�ml�l�§� denir.

Yukar�da bahsi geçen veri ba§�ml�l�klar� �ekil 2.3 ile gösterilmi³tir. Okuma

sonras� okuman�n herhangi bir zarar� olmad�§�n� ve ba§�ml�l�k olarak geçmedi§ini

belirtmek gerekmektedir.

Paralel olarak yürütülebilecek buyruklar�n kullanacaklar� yazmaçlar için birden

fazla yerin ayr�ld�§� yap�ya �ziksel yazmaç dosyas� ad� verilir. Fiziksel yaz-

maç dosyas� bellek hiyerar³isinin en tepesinde bulunur. En h�zl�, küçük ve

9

Page 21: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

�ekil 2.3: Veri ba§�ml�l�klar�

en pahal� bellek tipidir. Hedef i³lenen içeren bir buyruk i³lemci taraf�ndan

çözüldü§ünde, buyru§un sonucunu yazmak için �ziksel yazmaç dosyas�nda bo³ bir

yazmaç ayr�l�r. �³lemci buyru§u yürütmeyi tamamlad�§�nda sonucunu ayr�lm�³

olan bu yazmaça yazar. Ard�ndan gelen buyruklar�n bahsi geçen yazmaçtaki

veriye eri³meleri gerekir ise, bu buyruklar�n girdi i³lenenlerine �ziksel yazmaç

dosyas�ndan eri³ilir. Yazmaçtaki veriye ihtiyac� olan bütün tüketici buyruklar

emekli olduktan sonra yazmaç iç�n ayr�lan sat�r özgür b�rak�l�r. Fiziksel yazmaç

dosyas�, veri bütünlü§ünün korunmas� gereken en kritik i³lemci yap�lar�ndan

biridir. Bu yap� mimarinin mevcut durumunu saklad�§�ndan ötürü hatalara

kar³� dayan�kl� olmal�d�r. Ça§da³ i³lemci tasar�mlar�nda �ziksel yazmaç dosyas�n�

veri yozla³mas�na kar³� korumak için hata düzeltici kodlar kullan�lmaktad�r[4][5].

Güvenilirli§i sa§larken ba³ar�m�n çok fazla dü³ürülmemesi de tasar�m aç�s�ndan

önem ta³�maktad�r.

Yazmaç yeniden adland�r�lmas� yap�l�rken bir �ziksel yazmac�n ömrü a³a§�da

belirtildi§i gibi geçer:

1. Yazmaç atanmas�: Bir buyruk çözüldü§ünde, bo³ bir �ziksel yazmaç o

buyruk sonucunu yazabilsin diye ayr�l�r.

2. Geri yazma: �³letilen buyru§un sonucu ayr�lm�³ olan yazmaça yaz�l�r.

3. Ba§�ml� okumalar: Yazmaçtaki de§ere girdi olarak ihtiyac� olan müteakip

buyruklar veriyi yazmaçtan okurlar.

4. Yazmaç b�rak�lmas�: Fiziksel yazmaça boru hatt� içinde ba³ka bir referans

kalmad�§�nda yazmaç özgür b�rak�l�r.

10

Page 22: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Fiziksel yazmaçlar�n hataya aç�k olduklar� zaman geri yazman�n tamamlanmas�

ile ba§�ml� okuyucular�n sonuncusunun okumay� tamamlamas� aras�nda geçen

zamand�r. Yazmac�n de§erini üreten buyru§un da i³lenmi³ olmas� gerekmektedir.

Buyruklar üç ayr� s�n�fa ayr�l�rlar; yükleme/saklama , aritmetik ve dallanma. Bu

üç s�n�f içinden yükleme/saklama ve dallanma buyruklar�n�n ürettikleri sonuçlar

mimariye göre de§i³mekle birlikte sanal veya �ziksel adreslerden olu³maktad�rlar.

Bu çal�³mada kullan�lan Alpha mimarisi 24 farkl� yükleme/saklama ve 17 farkl�

dallanma buyru§unun sonuçlar�n� sanal adres olarak hesaplamaktad�r[6].

2.1.5 Bellek S�ralama

Yükleme buyruklar� bellekteki bir adreste bulunan veriyi yazmaç dosyas�na

kopyalamak için kullan�l�r. Saklama buyruklar� ise yüklemenin tam tersi

olan yazmaç dosyas�ndaki veriyi bellekte belirtilen adrese kopyalar. Belle§e

do§rudan eri³im ve önbellek eri³imi �ziksel yazmaçlara eri³meye oranla daha

yava³ yap�labilmektedir. Belle§e eri³im için gerekli olan adres üretimi de

tek bir buyrukta yap�lamamaktad�r. Bu sebeplerden ötürü yükleme/saklama

buyruklar� i³lemci içinde çal�³an buyruklara oranla daha fazla saat vuru³unda

tamamlanabilen buyruklard�r. Bu i³lemlerin gerçekle³me zamanlar�n�n nispeten

daha uzun sürmesi boru hatt� için bir darbo§az olu³turmaktad�r. Bu bölümde bu

darbo§az� a³mak için önerilmi³ olan yöntemler anlat�lmaktad�r.

Ayn� adres üzerinde yükleme/saklama yapmas� gereken buyruklar aras�nda da

yazmaç yeniden adland�rmada ya³anan ba§�ml�l�k tipleri olu³abilmektedir. Bir

yükleme buyru§u bellek üzerinde bir adresteki veriyi okuduktan sonra, bu

adrese bir saklama buyru§u yeni bir veri yazabilir(okuma sonras� yazma) veya

da bunun tam tersi bir durum olu³abilir(yazma sonras� okuma). Ayr�ca iki

ayr� saklama buyru§u bu adresteki veriyi yak�n zamanlarda de§i³tirebilir(yazma

sonras� yazma).

11

Page 23: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Bellek s�ralama ve bellek veri ak�³� teknikleri ile ilgili olarak [35][15][41][30]

referanslar�ndan ayr�nt�l� bilgi al�nabilir.

2.1.6 Program Sayac�

Program sayac�, çekme evresinde önbellekten çekilecek olan s�radaki buyru§un

adresini tutmakla sorumlu yazmaça verilen isimdir. Bir ko³ullu dallanma buyru§u

görene kadar program sayac� buyruklar� s�ral� bir ³ekilde tutar.

2.2 Mimari Hataya Aç�kl�k Etkeni

Bir sistemin Mimari Hataya Aç�kl�k Etkeni(MHAE), incelenen say�sal donan�m

yap�s�n�n geçici hatalardan etkilenmeye uygunlu§unu ölçer.

Donan�m yap�lar�n�n MHAE'lerini hesaplamak için Mimarisel Do§ru Yürütme(MDDY)

analizi yöntemi kullan�l�r. �ncelenen yap�daki bir bitteki de§i³ikli§in program�n

hatal� ç�kt� vermesine sebep olmas�, o bitin MDDY bit oldu§u anlam�na gelir.

Burada dikkat edilmesi gereken bir nokta, bir bitin MDDY biti olup olmad�§�n�n

zamana göre de§i³ebilece§idir. Mesela, geçersiz bir önbellek sat�r�n�n veri

blokunda bulunan bitlerin de§i³imi program�n ç�kt�sana hiçbir ³ekilde etki et-

meyecekken, bu sat�r geçerli oldu§unda veri blokunda olu³abilecek de§i³ikliklerin

hatal� program ç�kt�s�na sebep olma ihtimali bulunmaktad�r.

Bir donan�m yap�s�n�n MHAE'si a³a§�da belirtildi§i gibi tan�mlan�r:

MHAE = Σ MDDY bitlerinin etkin oldu§u çevrimlerToplam Çevrim Say�s� × Donan�m Yap�s�ndaki Toplam Bit Say�s�

Hatalar farkedilen ve farkedilmeyen olarak s�n��and�r�l�r. Gizli veri yozla³mas�

12

Page 24: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

(GVY), farkedilmeyen hatalar için kullan�lan bir terimken, farkedilen düzeltile-

meyecek hatalar(FDH) belirlenen hatalar için kullan�l�r.

2.3 Sanal Adresleme

Sanal adresleme �kri belle§e s�§amayacak kadar büyük programlar� desteklemek

için ortaya at�lm�³t�r. Ayr�ca bir sanal adres uzay�na bir di§er adres uzay�ndan

eri³ilmesini engelleyerek çok görevli i³letimin güvenli bir biçimde yap�lmas�na

yard�mc� olur. Bu ³ekilde çal�³an sistemlerde bir adres uzay�nda ko³an program�n

bir ba³ka adres uzay�nda ko³an program�n belle§ine do§rudan eri³imi yoktur.

Ça§da³ sistemlerin sanal adreslemeyi gerçeklemek için kulland�klar� yönteme

sayfalama denir. Sayfa, sabit boyutlu bir bellek bloku olarak ba§lay�c� taraf�ndan

atanan sanal sayfa numaras� ile belirtilen bellek parças� olarak tan�mlan�r.

Program kod ve veri bölütleri sayfalar�n içinde tutulur.

Bir program i³letim sistemi taraf�ndan çal�³t�r�laca§� zaman, sayfalar� �ziksel

adres uzay�na kar³�l�k gelecek ³ekilde e³le³tirilir. �³letim sistemi her bir program

için bu e³le³tirmeleri sayfa tablosu ad�nda bir yap�da tutar. Sayfa tablosu sanal

adresler ile �ziksel adresler aras�ndaki e³le³meleri tutmak için uygun olmas�na

ra§men bellek üzerinde tutulmas� sebebiyle sanal adreslerin �ziksel kar³�l�klar�n�n

sorgulanmas� yava³ yürütülen bir süreçtir. Bu sebepten ötürü ça§da³ i³lemciler

adres çeviri belle§i(ESÖ) ad�nda bir donan�m yap�s� bar�nd�r�rlar. ESÖ adres

e³le³melerini tutmakla sorumlu ili³kili önbellektir. ESÖ'ler veri ve buyruk

önbelleklerine benzer bir ³ekilde içerik adreslenebilir bellek(CAM) kullanarak

gerçeklenmi³lerdir. Bu ³ekilde e³le³meler h�zl�ca sorgulanabilmektedirler.

�ekil 2.4 sanal adreslerin �ziksel adreslere çevirim sürecini göstermektedir.

�³lemciden Bellek �³letme Birimi(MMU)'ne gelen bir bellek iste§inde istenilen

çevirim ESÖ taraf�ndan sa§lanabiliyorsa buna ESÖ çarpmas� denir. Aranan

çevirim ESÖ'de bulunamad�ysa bu durum ESÖ �skas� olarak adland�r�l�r.

13

Page 25: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Etkin

Sayfalar

Önbelleği

Sanal Adres(64)

Sayfa

No.(52)Eklenti(12)

Fiziksel Adres(64)

Fiziksel

Sayfa(52) Eklenti(12)

Adres bulundu

Sayfa

Tablosu

Adres

Bulunamadı

Sayfa Tablosu’ndan

Adresi al ve ESÖ’yü

güncelle

�ekil 2.4: Sanal adresten �ziksel adrese çevirim

ESÖ'nin önbelleklere göre konumu da önemli bir tasar�m karar� olu³turmaktad�r.

Önbellekler �ziksel olarak dizinlenmi³ sanal etiketli (PIVT), sanal olarak dizin-

lenmi³ sanal etiketli(VIVT), veya sanal olarak dizinlenmi³ �ziksel etiketli (VIPT)

olabilirler.

E³le³tirilmemi³ bir sayfaya bir buyruk taraf�ndan eri³ilmeye çal�³�ld�§�nda sayfa

hatas� meydana gelir. Sayfa hatas�n�n olma sebebi sanal adresin bir �ziksel

kar³�l�§�n�n henüz e³le³tirilmemi³ olmas� veya buyru§un eri³mek istedi§i bellek

alan�na eri³imi olmamas� olabilir.

14

Page 26: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 2.2: Hamming (7,4,3) kod kelimeleri

0000000 0100101 1000011 1100110

0001111 0101010 1001100 1101001

0010110 0110011 1010101 1110000

0011011 0111100 1011010 1111111

2.4 Do§rusal Blok Kodlar

Blok kodlar sabit boyutta mesajlara bölütlenmi³ bilgi dizileridir. �ki mesaj�n

do§rusal kombinasyonu da do§rusal ise bu blok koda do§rusal blok kod denir.

(n, k, d)'lik blok kod, k sembollük bir girdinin n boyutunda bir kod kelimesine

gömülece§ini belirdir. Buradaki d ise iki kod kelimesi aras�ndaki asgari hamming

mesafesini belirtir. k boyutunda bir bit dizisi kullan�larak 2k farkl� mesaj

yarat�labilir. Kodlama süreci a³a§�da belirtildi§i gibidir:

1. H ∈ {0, 1}mxn parite denetleme matrisi olsun, ve m = n − k için G ∈{0, 1}kxn de C kodu için üreteç matrisi olsun.

2. Bir kodun sistematik olmas� için üreteç matrisinin G = [Ik|P ] formunda

olmas� gerekir. Bu durumda parite denetleme matrisi H = [P T |Ik] olur.

3. Girdi mesaj� x = {x0, x1, ..., xk−1} olan c kod kelimesi c = mG olarak elde

edilir.

Örnek olarak Hamming (7,4,3) kodlamas� kullan�larak olu³turulabilecek kod

kelimlere Çizelge 2.2'de gösterilmi³tir. Görüldü§ü üzere bütün kod kelimeleri

aras�ndaki hamming mesafesi 3 veya 3'ün üzerindedir. Bu ³ekilde bu kod

kullan�larak tek hata düzeltimi ve çift hataya kadar hata tespiti yap�labilmektedir.

15

Page 27: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

3. �L��K�L� ÇALI�MALAR

Bu bölümde mikroi³lemcileri geçici hatalardan korumak ve hataya müsaitli§i

ölçülebilir k�lmak için yap�lm�³ olan farkl� çal�³malar anlat�lmaktad�r.

MHAE'ye alternatif olarak bir sistemin güvenilirli§inin ölçülebilmesi için [23]

çal�³mas�nda olas�l�k tabanl� bir kestirim modeli olu³turulmu³tur.

[33] çal�³mas�nda i³lemcinin bellekten veri beklerken bo³ta kald�§� zamanlarda

kullan�lmayan i³lem gücünün i³letilmi³ buyruklar�n bu bekleme esnas�nda tekrar

i³letilerek hata tespiti yap�lmas�n� önermektedir.

Fiziksel yazmaç dosyas�n� korumak için farkl� bir yöntem de [26] ile önerilmektedir.

Çal�³mada, veri saklayan �ziksel yazmaçlar�n verilerinin kullan�lmayan �ziksel

yazmaçlara yedeklenerek hata tespit edildi§inde hataya düzeltmek için yedek

kopyan�n okunabilece§i ve bu ³ekilde �ziksel yazmaç dosyas�n�n korunabilece§i

anlat�lmaktad�r.

[34] çal�³mas� ile sistemi hataya dayan�kl� k�lan mekanizmalar�n sadece yaz�l�m üz-

erinde gerçeklenebilece§i, hataya dayan�kl� sistemlerin donan�m yard�m� olmadan,

buyruk düzeyindeki paralellikten yararlan�larak sa§lanabilece§i gösterilmektedir.

[27] çal�³mas�nda Alpha temelli bir i³lemcinin yan�nda, ayn� i³lemcinin daha

basitle³tirilmi³ bir türevi kullan�larak ana i³lemcideki hatalar yard�mc� i³lemci

16

Page 28: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

sayesinde tespit edilerek hata denetimi ve düzeltilmesi sa§lanmaktad�r.

[42] çal�³mas� hata düzelten kodlar�n sanalla³t�r�lmas�ndan yararlan�larak farkl�

kodlama biçimlerinin kullan�lmas�n� ve hata düzelten kodlar�n sadece hata olu³an

durumlarda i³letilmesini önermektededir.

�³lemci yazmaçlar�nda tutulan dar de§erler üst bitleri 1 veya 0 dizisinden olu³an

de§erler olarak tan�mlanmaktad�r. Saklanan verilerin darl�§�ndan yararlan�larak

ba³ar�m, güç tasarrufu ve güvenilirlik alanlar�nda olumlu etkileri olmu³ çe³itli

çal�³malar yap�lm�³t�r[13][17] [24].

[20] çal�³mas� �ziksel yazmaçta saklanan dar de§erlerin ayn� yazmaç üzerinde

kopyalar�n�n saklanmas� sayesinde �ziksel yazmaç�n güvenilirli§inin artt�r�labile-

ce§ini önermektedir.

Geçici hatalara kar³� koruma sa§lamak için, [16] çal�³mas� dar de§erleri tespit

ederek, üzerinde önerilen farkl� yöntemler ile ba³ar�m� etkilemeyecek bir ³ekilde

i³lemci içerisindeki yazmaçlar�n güvenilirli§inin art�r�lmas�n�n mümkün oldu§unu

belirtmektedir.

Literatürde derleyici mimari etkile³imini konu alan çal�³malar olmakla beraber,

çal�³man�n konusu olan sanal adreslerin kullan�larak güvenilirli§in artt�r�lmas�na

yönelik bir çal�³maya rastlanmam�³t�r .

[40] çal�smas� yazmaç dosyas�n�n geçici hatalara kar³� aç�kl�§�n� ölçmek için

yazmaç hataya aç�kl�k etkenini geli³tirmi³tir ve sonras�nda derleyiciyi kullanarak

yazma ve okuma i³lemlerinin konumland�r�lmalar�n� de§i³tirerek kendi geli³tirmi³

oldu§u hataya aç�kl�k etkenindeki dü³ü³ gösterilmi³tir.

17

Page 29: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

[3] ile MHAE'yi geli³tirmenin sadece donan�m üzerinde de§il, derleyici kul-

lan�larak da mümkün oldu§u belirtilmi³tir. Çal�³mada MHAE kavram�n�n

ba³ar�m ile etkisini belirtilen yeni bir kavram geli³tirili³mi³ olup, derleyici

bayraklar�n�n kullan�mlar�na göre MHAE'ye etkileri gözlemlenmi³tir.

[25] statik analiz yöntemiyle bir programdaki korunmas� önce likli olan program

bölütlerini tespit ederek bunlar� k�smi olarak korunan bir belle§in korumal�

k�sm�nda saklamay� önermektedir. Bu ³ekilde bütün belle§i ECC ile korumak

yerine kritik program parçalar�n�n korudu§u bir alan sa§lanarak güçten ve

alandan tasarruf edildi§ini belirtmektedir.

[22] ise yazmaç dosyas�n�n hataya aç�kl�§�n� derleme zaman�nda kestirebilen

bir statik analiz yöntemi önermekte ve derleyici en iyile³tirmelerini kullanarak

hatalara kar³� koruma sa§lanabildi§ini belirtmektedir.

Uyu³mazl�k �skas�, küme ili³kili veya do§rudan harital� önbelleklerde farkl�

bloklar�n ayn� sat�rlara yerle³tirilmesi sonucu olu³an bir durumdur. [32] çal�³mas�

çok çekirdekli sistemlerde olu³abilecek uyu³mazl�k �skalar�n�n �derleyici yönetimli

sayfa boyama� olarak isimlendirilmi³ bir yöntemle engellenebilece§ini göster-

mi³tir. Bu yöntem derleyicinin eri³im desenleri hakk�nda bilgi sahibi olmas�ndan

yararlanarak son seviye önbelle§in uygulamalar aras�nda daha düzgün ³ekilde

payla³t�r�lmas�n� sa§lamaktad�r.

18

Page 30: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

4. Önerilen Hata Düzeltme Yöntemi

Sanal adresler, sanal sayfa ve eklenti olmak üzere iki bölümden olu³maktad�rlar.

�ekil 4.1 ile gösterilmi³ olan �ziksel olarak dizinlenmi³ sanal etiketli sanal

adreslerde, adresin eklenti k�sm� �ziksel adreslerde de sanal adreslerde de ayn�

yeri ifade eder. Fiziksel adres ile sanal adres aras�ndaki farkl�l�k sadece sanal

sayfa numaras�n� tutan k�s�mdad�r. Bu tarz adreslemede etiket özgün bir ³ekilde

veriyi tan�mlayamad�§�ndan ötürü ayn� sanal adresler farkl� �ziksel adreslerle

e³le³tirilebilmektedir. Bunu engellemek için her bir adres sat�r�na ayr�ca adres

uzay� belirteni eklenir. Bu ³ekilde yap�lan adres isteklerinin hangi adres

uzay�ndan geldi§i takip edilebilmekte ve farkl� programlar�n ayn� sanal adrese

sahip bölümlerinin birbirlerinin çevirimlerine kar�³mas� engellenebilmektedir.

Günümüz sistemleri ana belle§i ve önbellekleri [21] [7] hata düzeltici kodlarla

korumaktad�rlar. Bellekler tamamen korumal� olsalar bile buralardaki veriler

i³lemci üzerindeki dizili yap�lar�n kritik yol üzerinde olmalar� sebebiyle bunlar üz-

erinde hata düzeltici kodlar�n kullan�lmas� ba³ar�m� olumsuz etkilemektedir. Bu

sebepten ötürü parite denetlemesi gibi basit yöntemlerin kullan�lmas� mümkünken

daha karma³�k devreler gerektiren hata düzeltici kodlar tercih edilmemektedir

[12][19].

Bir mikroi³lemcinin üzerinde saklanan de§erler adres de§erleri ya da veri de§erleri

olarak ikiye ayr�labilir. Adres de§erleri bir dallanma sonucunda gidilecek adresi,

bellekten yüklenmesi gereken bir verinin hangi adresten yüklenece§ini veya

bellek üzerinde saklanmas� gereken bir verinin hangi bellek adresi üzerinde

19

Page 31: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

BELLEKYÖNETİMBİRİMİ

EKLENTİSANAL SAYFA NUMARASI

0xC0004088

0xC0004 0x088

FİZİKSEL ADRES

EKLENTİ

0x088

FİZİKSEL SAYFA NUMARASI

0xDE020

0xDE0204088

�ekil 4.1: Fiziksel olarak dizinlenmi³ sanal etiketli adres

Çizelge 4.1: Örnek program adreslemesiAdres Sembol

000000000040060b get_syndrome

0000000000400673 main

0000000000400b40 __libc_start_main

0000000000400df0 __libc_check_standard_fds

0000000000400e8e check_one_fd.part.0

0000000000400f00 __libc_setup_tls

0000000000401130 _dl_tls_setup

00000000004011a0 __pthread_initialize_mini

saklanaca§�n� tutarlar. Veri de§erleri ise aritmetik i³lem sonuçlar�n� tutarlar.

Fiziksel olarak dizinlenmi³ sanal etiketli önbellek kullanan sistemlerde program

sayac�nda, �ziksel yazmaç dosyas�nda ve etkin sayfalar önbelle§inde sanal adres

de§erleri saklanmaktad�r.

Program sayac� i³lemcinin s�radaki buyru§u hangi adresten çekece§ini saklayan

yap�d�r. Program sayac�n�n herhangi bir bitinde olu³acak bir hata program

ak�³�n�n de§i³mesine ve dolay�s�yla program�n hatal� bir ³ekilde sonlanmas�na

sebebiyet verecektir. Örne§in, �ekil 4.3'de SPARC tabanl� bir sistemin program

sayac�n�n bellekten bir sonraki getirmesi gereken adres olarak 0x403d2000

gözükmektedir. Bu adreste yazmaç üzerinde tutulan verinin 18 say�s� ile

20

Page 32: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

'mant�ksal ve' i³leminden geçirilerek sonucun ayn� yazmaca yaz�lmas�n� belirten

bir buyruk saklanmaktad�r. Kesikli çizgi ise 0x403d2000 adresine hamming

uzakl�§� bir olan 0x403c2000 adresini göstermektedir. Bu adreste g4 yazmac�nda

tutulan adrese dallan�lmas�n� belirten bir buyruk bulunmaktad�r. Program

sayac�n�n mevcut de§erinin 17. bitinin 1 iken 0 de§erine dönü³mesi program

sayac�n�n dallanma buyru§unu göstermesine sebep olacakt�r. Bu dallanma

buyru§unun hatal� bir ³ekilde bellekten getirilerek i³lemci taraf�ndan yürütülmesi

program ak�³�n� bozacakt�r ve program ç�kt�s� hatal� olacakt�r.

Fiziksel yazmaç dosyas� yürütülen buyruklar�n sonuçlar�n�n sakland�§� donan�m

yap�s�d�r. Fiziksel yazmaç dosyas� üzerinde sonuç olarak adres saklayan buyruk-

lar yükleme/saklama buyruklar� ve dallanma buyruklar�d�r. Bu buyruklar�n

sonuçlar�n�n saklanmalar� esnas�nda tutulduklar� yazmac�n sanal sayfa saklayan

bit hücrelerinde meydana gelecek olan bir de§i³im belle§in yanl�³ adresinden veri

çekilmesi, üretilen bir sonucun yanl�³ bellek adresine saklanmas� veya program�n

yanl�³ bir noktaya dallanmas�yla sonuçlanabilir. Bu durumlara ek olarak saklanan

adres tan�ms�z bir adrese dönü³erek program�n ak�³� geri dönülemeyen bir sayfa

hatas� ile son bulabilir. Sistem üzerinde i³letilen buyruklar�n s�n��ar�na göre

da§�l�mlar� �ekil 4.5 ile gösterilmi³tir. Buradan da görüldü§ü üzere i³letilen bütün

buyruklar�n %52'si bahsedilen durumdan etkilenmeye müsaitlerdir. �ekil 4.3 ile r0

yazmac�ndaki adrese ko³ulsuz dallanmak için kullan�lan jmp buyru§unun de§eri

program sayac�n�n bir sonraki saat vuru³unda gösterece§i adresi saklamaktad�r.

Bu adres �ziksel yazmaç dosyas�nda tutulurken sayfa numaras�n�n 2. biti 1'den

0'a de§i³ti§i takdirde sonraki program sayac� yanl�³ adresten buyruk çekecek ve

program ak�³� de§i³ti§inden ötürü program ç�kt�s� hatal� olacakt�r.

ESÖ ise sanal adreslerin �ziksel kar³�l�klar�n� sa§lamakla sorumludur. ESÖ

üzerinde etkin olan iki sat�rda saklanan sanal etiketlerin birbirleri aras�ndaki

hamming mesafesi 1 oldu§unda, bunlardan birinde olu³abilecek bir bitlik hata

yanl�³ adres çevirimine yol aç�p yanl�³ verinin çekilmesine sebep olabilecektir.

Çizelge 4.2 ile üç adet basitle³tirilmi³ ESÖ sat�r� gösterilmektedir. Burada bütün

sat�rlar�n sanal sayfa numaralar�n�n birbirlerine olan hamming uzakl�§� 1'dir.

Örne§in, Birinci sat�r�n sanal sayfa numaras�n�n 1. biti 1 oldu§u zaman 2.

21

Page 33: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 4.2: Örnek ESÖ sat�rlar�Sanal Sayfa Numaras� Adres Fiziksel Sayfa Numaras�

0x400 0x180

0x401 0x243

0x402 0x854

Veri

000

004

000

004

0x8810000

0x81c12000

0xc20f6000

0x82086012

Eklenti Makina Dili

mov %g0,g4

jmp %g4

ldub [%i5], %g1

and %g1,18,%g1

0x403c2

0x403c2

0x403d2

0x403d2

Sayfa No

Adres

Program Sayacı

0x403d2000

�ekil 4.2: Program sayac�nda bit hatas� olu³mas�

sat�rla ayn� sayfa numaras� farkl� adresleri belirtecektir veya 3. sat�r�n sanal

sayfa numaras�n�n 2. biti 0 oldu§u zaman 1. sat�rla birlikte ayn� sanal sayfa

numaras�na sahip olup farkl� adresi göstereceklerdir.

Kullan�labilecek sayfa numaras� say�s� mimarinin kulland�§� sayfa boyutuna

göre de§i³iklik gösterir. Örne§in x86_64 mimarisi 4kB boyutunda sayfalar

Yazmaç Dosyası

0x10002

0x10000

0xD3ADB33F

0x004

0x82

R0

R2

R1

.

.

.

Program Sayacı

0x403d2000

Buyruk

jmp %r0 r0

Sonraki Program

Sayacı0x10002004

0x10000004

�ekil 4.3: Fiziksel yazmaçta bit hatas� olu³mas�

22

Page 34: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

0

50000

100000

150000

200000

250000

astar

bwaves

bzip2

cactusADM

calculix

dealII

gamess

gcc

Gem

sFDTD

gromacs

0 50000 100000 150000 200000 250000

astar

bwaves

bzip2

cactusADM

calculix

dealII

gamess

gcc

GemsFDTD

gromacs

h264ref

hmmer

lbm

leslie3d

libquantum

mcf

milc

namd

omnetpp

povray

sjeng

zeusmp

Ortalama

�ekil 4.4: SPEC2006 ölçüm programlar�n�n kulland�klar� sayfa say�lar�

kulland�§� için 252 sayfa tan�mlamak mümkünken, Alpha mimarisinde 8kB

boyutunda sayfalar kullan�lmas� 251 sayfa tan�mlanmas�n� mümkün k�lmaktad�r.

Önemli bir nokta mevcut masaüstü ve sunucu sistemlerinde ko³an programlar�n

bu kadar sayfaya ihtiyaç duymamalar�d�r. Örnek olarak SPEC2006 ölçüm

programlar�n�n kulland�klar� sayfa say�lar� �ekil 4.4 ile verilmi³tir. Azami sayfa

kullan�m�n�n 214611(218'den az) sayfa say�s�yla mcf ölçüm program�na ait oldu§u

görülmektedir.

23

Page 35: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

yükleme saklama dallanma diğer

�ekil 4.5: Buyruk s�n��ar�n�n da§�l�mlar�

4.1 Ba§lay�c� Üzerinde Gerçeklenmi³ Döngüsel Kod-

lay�c�

Sanal adresleme destekleyen bir mikroi³lemci üzerinde ko³acak bir program�n

buyruk ve verilerinin saklanacaklar� sanal adreslerin bir ³ekilde atanmas� gerek-

mektedir. Bu süreç �ekil 4.6 ile gösterilmi³tir. Günümüz i³letim sistemlerinde

programc� taraf�ndan üst seviye bir programlama dilinde yaz�lm�³ olan bir

program�n adres atanmas� ortak kütüphane kullan�lmad�§� zamanlarda sadece

ba§lama zaman�nda gerçekle³tirilir. Ortak kütüphane kullan�lmas� durumunda

i³letim sistemi üzerindeki dinamik ba§lay�c�/yükleyici ortak kütüphane ile ilgili

sembolleri çözümler ve adreslemesini yapar. Derleyici farkl� dosyalardan olu³an

kodlar� makina diline çevirir. Bunun sonucu ortaya ç�kan dosyalara nesne

dosyalar� ad� verilir. Daha sonra bu nesne dosyalar� ba§lay�c� taraf�ndan bir araya

getirilir ve adres atamalar� yap�l�r. Ba§lay�c� adres atamalar�n� yaparken Bu süreç

sonunda ortaya ç�kan ikili dosya i³lemci üzerinde çal�³abilecek hale gelmi³ olur.

Çizelge 4.1 ile 4kB boyutunda sayfalar kullanan, ortak kütüphane kullanmayan,

Golay kodu üretmek için kullan�lan örnek bir program�n adreslemesinin bir

24

Page 36: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Kaynak Kod

Dinamik

Bağlayıcı/

Yükleyici

BağlayıcıDerleyici

Sistem

Yapıları

�ekil 4.6: Bir program�n adreslenme ya³am döngüsü

parças� gösterilmi³tir. 4kB sayfa kullan�m� 16l�k sistemde belirtilmi³ adreslerin ilk

3 hanesinin eklentiden, adresin geri kalan�n�n ise sayfa numaras�ndan olu³tu§unu

belirtmektedir. Burada gösterilen program i³levleri iki ayr� sayfada tutul-

maktad�rlar. 0x400 numaral� sayfa get_syndrome, main, __libc_start_main,

__libc_check_standard_fds, check_one_fd.part.0, __libc_setup_tls i³levler-

ine ait buyruklar� tutmaktad�r. _dl_tls_setup, __pthread_initialize_mini

ve yer tasarrufu nedeniyle çizelge de gösterilmemi³ i³levler ise 0x401 numaral�

sayfada saklanmaktad�r.

Bir önceki bölümdeki mevcut sistemlerin kullanabileceklerinden çok daha fazla

sayfa adreslemesinin mümkün oldu§u gözleminden yararlanarak sanal sayfa

numaralar�n�n döngüsel(51,43,3) kodlay�c� kullan�larak birbirleri aras�nda asgari

hamming uzakl�§� 3 olacak ³ekilde atand�§� ve bu adreslerin tutuldu§u noktalarda

1 bitlik hatalar�n düzeltilebilece§i bir yöntem bu bölümde önerilmektedir. Bu

³ekilde ESÖ'ler, yazmaç dosyas� ve program sayac�n� hatalara kar³� korumak

mümkün olacakt�r.

Döngüsel kodlar, c kod kelimesinin döngüsel kayd�r�lmas�n�n da kod kelimesi

olu³turdu§u do§rusal blok kodlara denir. Gerçeklemesi di§er kodlara göre daha

kolayd�r. BCH kodu da bir çe³it döngüsel koddur. Bu kod Hamming kodunun

çoklu bit hatalar�n� düzelten bir genellemesidir.

25

Page 37: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 4.3: Kodlanm�³ adresler kullanan programAdres Sembol Kodlanm�³ Adres

0x4001d8 __rela_iplt_start 0x200cc1d8

0x4002f8 _init 0x200cc2f8

0x4003e0 _start 0x200cc2f8

0x401130 _dl_tls_setup 0x2017d130

0x401690 exit 0x2017d690

0x401ae0 srand 0x2017dae0

0x4021d0 printf 0x2021f1d0

0x402450 __libc_message 0x2021f450

0x402840 __libc_fatal 0x2021f840

Bir sanal adres uzay� için sayfa numaralar�n� s�ral� bir ³ekilde atamak yer-

ine ba§lay�c� üzerinde gerçeklenmi³ bir döngüsel kodlay�c� kullan�larak sayfa

numaralar� atanabilir. Alpha mimarisinde sayfa eklentileri 13 bit, yani 8K

boyutunda sayfalar, oldu§u için (51, 43, 3)'lük bir döngüsel kodlay�c� bu i³ için

uygun dü³mektedir. Alpha mimarisinde sayfa numaralar� 43 veya 47 bit olarak

ilklendirme zaman�nda ayarlanabilmektedir.

Ba§lay�c� Çizelge 4.3 ile gösterilen do§rusal ³ekilde sayfa numaras� atamak yerine,

bu atad�§� adresleri kodlay�c�dan geçirdikten sonra atayabilir. Bu ³ekilde bütün

sayfa numaralar�n�n birbirlerinden en az hamming uzakl�§� üç ile kodland�§�

garantilenmi³ olur.

Sendrom çözme do§rusal blok kodlar�n çözümünde yayg�n olarak kullan�lan bir

yöntemdir. Sistemdeki sayfa numaralar� do§rusal blok kodlar� ile kodland�§�ndan

ötürü sendrom çözücüyü sayfa hata kotar�c�s�n�n içinde gerçekleyerek geçici

hatalar sonucu olu³an sayfa hatalar�na kar³� koruma sa§lanabilir. Sendrom

çözücüyü gerçeklemek için ilk önce çözme i³leminde kullan�lacak olan sendrom

tablosunun olu³turulmas� gerekmektedir. Bu i³lem için en dü³ük a§�rl�§a sahip

olan w = 0, 1n kelimesi seçilir ve sendromu hesaplan�r. Ayn� sendroma sahip

daha dü³ük a§�rl�kl� bir kelime bulunmazsa r tabloya koset lideri olarak eklenir.

26

Page 38: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Sendrom s = wHT ³eklinde hesaplan�r.

Yukar�da bahsedilen çözme yöntemi, daha önceden bahsedilmi³ olan kodlama

yöntemi ile birlikte kullan�larak ESÖ, �ziksel yazmaç dosyas� ve program

sayac�nda saklanan sanal adreslerin sanal sayfa numaralar�nda olu³an hatalar�n

sayfa sorgusu s�ras�nda sayfa hata kotar�c�s�nda düzeltilebilmesine olanak sa§la-

maktad�r.

4.2 Önerilen Yöntemin �leti³im Sistemlerine Ben-

zerli§i

Bir ileti³im sisteminde veri üzerinde kaynaktan hedefe ula³ana kadar izlenen yol

�ekil 4.7 ile gösterilmi³tir. �letilmek istenilen sinyal öncelikle kaynak kodlamas�

kullan�larak s�k�³t�r�l�r ve verimli bir ³ekilde iletilebilecek hale getirilir. Daha

sonra kanal kodlamas� kullan�larak bu sinyale fazladan birkaç bit eklenir ve

bu fazladan bitler sayesinde sinyalin olu³abilecek hatalara kar³� gürbüzlü§ü

sa§lan�r. Kanal kodlanmas� da tamamlanm�³ olan sinyal daha sonra verici

taraf�ndan kullan�lan ileti³im kanal�na iletilir. Örnek olarak bu ileti³im kanal�

okyanus alt�ndaki �ber optik bir kablo veya kablosuz ileti³imde oldu§u gibi hava

olabilir. �leti³im ortam�ndaki çevresel gürültüden ötürü iletilmekte olan sinyalde

hatalar olu³abilir.napim kuzen ben de burokratik biseyler bek Bu sinyal al�c�

taraf�na ula³t�§�nda al�c�da bulunan kanal çözücüsü bu hatalar� düzelterek kaynak

çözücüsüne iletir. Kaynak çözücüsü s�k�³t�r�lm�³ sinyali açt�ktan sonra sinyal

hedefe ula³m�³ olur.

Bu tez çal�³mas�nda önerilen süreç ileti³im sistemlerinde kullan�lmakta olan

verinin kaynak taraf�ndan gönderilirken hamming kodlanmas� ve al�c� taraf�n-

dan çözülmesi sürecine büyük bir benzerlik göstermektedir ve a³a§�da mad-

deler halinde aç�klanm�³t�r. Terimlerin benzerli§i aç�s�ndan kaynak kodlama

kavram�n�n sinyalin temsil biçiminin de§i³tirilmesi oldu§u, kaynak kodun ise

27

Page 39: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Kaynak

GürültüİletişimKanalı

Hedef

KaynakKodlayıcı

KanalKodlayıcı

KanalÇözücü

KaynakÇözücü

Verici

Alıcı

�ekil 4.7: �letilecek bilginin kodlanmas� ve çözülmesi

program� belirten ifadelerden olu³an yaz�l�m parças� oldu§una dikkat edilmelidir.

1. Kaynak(Program kaynak kodu): Üst seviye bir programlama dilinde

yaz�lm�³ program kaynak kodu iletilecek olan veriyi temsil eder.

2. Kodlay�c�: Üst seviye program�n derleyici vas�tas�yla makina koduna

çevrilmesi i³lemi kaynak sinyalinin temsilinin de§i³tirilmesi olarak dü³ünülebilir.

Bu noktada, yürütülmek istenilen algoritma üst düzey bir programlama

dilinden i³lemcinin çal�³t�r�labilece§i ikili dilde bir temsile dönü³türülür.

Makina diline çevrilmi³ olan program bu noktada adresler ve bu adreslerde

bulunan buyruklardan olu³maktad�r. Bu tez ile önerilmekte olan yöntem

kanal kodlamas� kullanarak programdaki buyruklar� saklayan adreslerin

sayfa numaralar�n�n birbirlerinden hamming mesafesi üç uzakl�§�nda ola-

cak ³ekilde konumland�r�lmalar�yla bu adreslerin sakland�klar� yap�larda

olu³abilecek bir bit hatas�n�n program�n ak�³�nda bir soruna yol açmamas�n�

sa§lamaktad�r.

28

Page 40: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

3. �leti³im kanal�: Program�n i³leyi³i s�ras�nda sanal adreslerin sakland�§�

donan�m yap�lar�nda kanal kodlamas� kullan�larak üretilmesi sayesinde

hatalara kar³� dayan�kl� olmalar� sa§lan�r. Örne§in program sayac�nda

tutulan bir sanal adresin sayfa numaras�nda bir bit hata olu³mas� adreslerin

s�ral� bir ³ekilde saklanmalar� durumunda yanl�³ bir program ak�³�na sebep

olacakken önerilen ³ekilde sayfa numaraland�r�lmas� yap�ld�§� için sistem

olu³acak olan bir bitlik hatay� tela� edebilecektir.

4. Çözücü: Yap�lacak olan her bir sanal adresten �ziksel adres tercümesi

sistemde ilk olarak ESÖ üzerinde sorgulan�r. Bu sorguyu yapan adres

saklayan donan�m birimi üzerinde bir bitlik hata olu³tu§u durumlarda

bütün adresler hamming mesafesi üç ile ayr�ld�§� için sorgulanan adres

ESÖ üzerinde bulunam�yacakt�r. ESÖ üzerinde bulunamayan adres sorgusu

sayfa hatas�na yol açar ve i³letim sistemi taraf�ndan saklanmakta olan sayfa

tablosuna iletilir. Sayfa hata kotar�c�s� üzerinde gerçeklenmi³ olan kanal

çözücüsü adres saklayan birimin iletti§i adresteki bir bitlik hatay� düzeltir

ve düzeltilmi³ haliyle ESÖ sat�r�n� günceller. Bu ³ekilde program�n ak�³�

olu³abilecek muhtemel bir sorundan ar�nm�³ bir ³ekilde devam eder.

5. Hedef: Kaynak taraf�ndan gönderilen buyruk silsilesinin aradaki duraklarda

olu³abilecek hatalara kar³� al�nan önlemler sayesinde MDDY'yi bozmadan

i³letilebilir halde sunulmas� sa§lan�lm�³ olur.

Yukar�da belirtilen süreçten de ç�kar�labilece§i üzere sanal adres saklayan bir

donan�m yap�s�nda her hata olu³tu§unda, sanal adresten �ziksel adrese yap�lan

sorgular�n nihai hede� sayfa hata kotar�c�s� olmaktad�r. Bu tez ile incelenmi³ olan

donan�m yap�lar�nda olu³abilecek hata sürecleri a³a§�da aç�klanm�³t�r.

4.3 Donan�m Üzerinde Gerçeklenmi³ Sendrom Çözme

Tezde incelenen donan�m yap�lar� için sendrom çözme için kullan�lan standart

hata düzeltici kod devreleri gerçeklenebilir. Buradaki durumun kullan�lan ECC

devrelerinden fark� kodlama k�sm� ba§lama zaman�nda yap�ld�§� için donan�m

29

Page 41: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 4.4: Yazma eri³imlerinin toplam eri³imlere oran�Ölçüm program� Oran Ölçüm program� Oran

bzip2 0,35 cactusADM 0,37

calculix 0,36 gcc 0,36

gromacs 0,64 hmmer 0,37

lbm 0,17 libquantum 0,35

mcf 0,12 namd 0,36

omnetpp 0,34 povray 0,32

soplex 0,35 ortalama 0,36

üzerinde kodlay�c� gerçeklemeye gerek olmay�³�d�r. Sadece yazmaç okumalar�nda

ECC devreleri çal�³aca§�ndan ötürü standart ECC yap�s�na göre güç tasarrufu

sa§lanabilecektir. Bu ³ekilde sayfa hata kotar�c�s�nda gerçeklenmi³ çözücünün

ortaya ç�kard�§� ba³ar�m kayb� da engellenebilir. Fiziksel yazmaç dosyas� için

yazma eri³imlerinin toplam eri³imlere oran� Çizelge 4.4 ile gösterilmi³tir.

30

Page 42: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

5. DENEYSEL SONUÇLAR

Önerilen hata bulma ve düzeltme yönteminin ba³ar�m�n� ölçmek için Linux

3.0 çekirde§i sayfa hata kotar�c�s� içinde gerçeklenmi³ olan sendrom çözücü

algoritmas� SPEC2006 ölçüm programlar�yla çal�³t�r�lm�³t�r. Sendrom çözücünün

ba³ar�ma etkisi �ekil 5.1 ile verilmi³tir. Hata kotar�c�s�na eklenen blok çözücü

%13 ba³ar�m kayb� yaratm�³t�r. Intel mimarisinde bulunan TBÇV buyruklar� veri

seviyesinde paralellikten yararlanarak ayn� veri üzerinde paralel i³lem yap�lmas�na

olanak sa§layan buyruk kümesidir. Ayn� çözücü TBÇV buyruk kümesindeki bir

veri üzerinde 1 olan bitleri sayma buyru§u olan �popcnt� buyru§u kullan�larak

gerçeklendi§inde ba³ar�m kayb� %8 olmu³tur. Linux sayfa hata kotar�c�s�n�n içine

gömülmü³ olan çözücü kodlar�, TBÇV kullanan ve kullanmayan halleri ile birlikte

Ekler k�sm�nda verilmi³tir.

Ba³ar�mda ya³anan dü³ü³e kar³�n, çal�³mada kullan�lan yöntem sayesinde buyruk

ve veri ESÖ'lerinin MHAE'lerinde �ekil 5.2 ve 5.3 ile görüldü§ü gibi kayda de§er

bir azalma sa§lanm�³t�r. Önerilen yöntem sanal adreslerin sayfa numaralar�

k�sm�n� korudu§u için bu azalma sa§lanm�³t�r.

Alpha 21264 için bir ESÖ sat�r� sanal etiketler, �ziksel sayfa numaras�, oku-

ma/yazma izin bitleri, adres uzay� belirteni, okuma yazma için hata bitleri

ve geçerli bitinden olu³maktad�r. ESÖ üzerinde sanal etiket yüzünden hata

olu³abilmesinin tek yolu iki ayr� sat�r�n geçerli olduklar� durumda birbirlerine

olan hamming uzakl�klar�n�n 1 olmas� ve bu iki sat�rdan birinin sanal etiketinin

bir geçici hata sebebiyle tek bitinin de§i³mesi sonucu ayn� adresin farkl� çevirilere

sahip olmas� durumudur.

31

Page 43: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

0,7

0,75

0,8

0,85

0,9

0,95

1

Çözücü TBÇV kullanan çözücü

�ekil 5.1: Sayfa hata kotar�c�s�nda gerçeklenmi³ sendrom çözücünün ba³ar�maetkisi

ESÖ üzerinde sanal adres sayfa numaras� saklayan bit hücrelerinde olu³abilecek

bir bit hatas� hamming distance bir uzakl�§�nda ba³ka bir adres olmayaca§�

kodlama evresinde garanti edildi§inden ötürü sadece bir sayfa hatas�na sebep

olacakt�r. ESÖ üzerinde sayfa numaralar� birbirinden hamming uzakl�§� bir

ile ayr�lm�³ farkl� adresler bulunamayaca§�ndan dolay� olu³abilecek tek bitlik

hatalara kar³� koruma sa§lanm�³ olur.

Bir �ziksel yazmaç�n hataya aç�k oldu§u an geri yazma ile tüketicilerin sonuncusu-

nun okumas�n� bitirmesi aral�§�ndad�r. Alpha mimarisinde, yükleme/saklama ve

dallanma buyruklar� sonuçlar�n� sanal adre olarak üretmektedirler. Kulland�§�m�z

yöntem �ziksel yazmaç dosyas�n� hataya aç�k oldu§u zamanlarda koruyabilmek-

tedir. Fiziksel yazmaç dosyas�nda ortaya ç�kan MHAE'deki azalma �ekil ?? ile

gösterilmi³ir. Kullan�lan üç ayr� buyruk s�n�f�ndan dallanma ve yükleme/saklama

32

Page 44: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

0

2

4

6

8

10

12

14

Etkin Buyruk Sayfaları Önbelleği MHAE

Etkin Buyruk Sayfaları Önbelleği MHAE Kazanımı

�ekil 5.2: EBSÖ için MHAE'deki azalma

buyruklar�n�n ürettikleri sonuçlar sanal adres olarak �ziksel yazmaçlarda saklan-

maktad�rlar. Bu sonuçlar ba§�ml� okuyucu buyruklar�n sonuncusunun saklanan

de§eri okumas�na kadar atanm�³ olan yazmaçta tutulurlar. Saklanan sonuçlar

kullan�lacaklar� zaman ESÖ üzerinden sorgulanarak �ziksel adres kar³�l�klar�

ö§renilir. Bu duruma ba§l� olarak sanal adres saklayan yazmaçlarda olu³acak

bit hatalar� sayfa hata kotar�c�s�nda adres kar³�l�§�n�n sorgulanmas�na sebep olur.

Bu durumda da ayn� program sayac�nda oldu§u gibi sayfa hata kotar�c�s� hatay�

düzelterek do§ru

Program sayac�nda olu³abilecek bir geçici hata, boruhatt�n�n bo³alt�lmakta

olmad�§� bütün durumlar için hatal� sonuç üretecektir. Önerilen yöntem �ekil

5.5 program sayac�n�n sanal sayfa numaralar� tutulan k�sm�n� koruyabilmektedir.

Program sayac� üzerinde olu³an bir bitlik hata, program sayac�nda tutulan

sanal adresin tercüme edilmesi iste§i ile sonuçlanacakt�r. Örne§in program

sayac�nda 0x10000000 olarak saklanmakta olan bir adres 0x10080000 olarak

de§i³ebilir. Tezde önerilen yöntem do§rultusunda adresler hamming uzakl�§�

üç olacak ³ekilde kodland�klar�ndan, 0x10080000 adresi için sorgu sayfa hata

kotar�c�s�na ula³t�§�nda, sayfa hata kotar�c�s� bu sorgunun asl�nda 0x10000000

adresine oldu§unu farkederek sanal adresin do§ru �ziksel kar³�l�§�n� sa§layabilir.

Bu ³ekilde program sayac� üzerinde olu³mu³ olan bir bitlik hata savu³turulmu³

33

Page 45: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

80

100

120

0

2

4

6

8

10

12

Etkin Veri Sayfaları Önbelleği MHAE

Etkin Veri Sayfaları Önbelleği MHAE Kazanımı

�ekil 5.3: EVSÖ için MHAE'deki azalma

olur.

5.1 Deney Ortam�

Çal�³mada yap�lan bütün MHAE ölçümleri gem5[8] benzetim ortam� üzerinde

SPEC2006 ölçüm programlar�n� ko³turarark yap�lm�³t�r. Benzetim ortam�

de§i³kenleri Tablo 5.2 ile gösterilmi³tir. Sunulan sonuçlar 250 milyon buyrukluk

�s�nma zaman�n�n ard�ndan gem5'in 250 milyon buyruk ko³turulmas�yla elde

edilmi³tir. Bütün ölçüm programlar�n�n gem5 benzetim ortam� üzerinde sa§l�kl�

bir ³ekilde çal�³t�r�lmas� sa§lanamad�§�ndan ötürü baz� ölçüm programlar�yla

ölçüm al�namam�³t�r. Çal�³mada kullan�lm�³ olan SPEC2006 ölçüm programlar�

ve aç�klamalar� Tablo 5.1 ile gösterilmi³tir.

Ölçüm Program� Dil Uygulama Alan� Aç�klama

34

Page 46: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

perlbench C Programlama dili Perl 5.8.7'den türetilmi³tir.

�çinde SpamAssassin,

MHonArc (e-posta

düzenleyicisi), and specdi�

(Ölçüm programlar�

ç�kt�lar�n� denetleyen

SPEC arac� )programlar�n�

bar�nd�r�r.

bzip2 C S�k�³t�rma Julian Seward'�n 1.0.3

sürümlü bellek-yo§un i³lem

yapan bzip2 kodu.

gcc C C derleyicisi Opteron mimarisi için kod

üreten gcc 3.2 tabanl� der-

leyici

mcf C Kombinatoryel Eniyile³tirme Ayn� zamanda ticari ürün-

lerdede kullan�lan bir a§

simpleks algoritmas� kulla-

narak araç takvimlesi ya-

par.

gobmk C Yapay Us Go isimli kurallar� basit

ama çok karma³�k bir oyunu

oynar.

hmmer C Gen dizisi aramas� Pro�l gizli Markov

modelleri kullanarak

protein dizileri analizi

sjeng C Yapay Us Farkl� tarzlarda satranç oy-

nayabilen üst düzey bir

satranç program�

35

Page 47: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

libquantum C Fizik / Kuvantum hesaplama Shor'un polinom zaman

faktorizasyon algoritmas�n�

ko³an bir kuvantum

bilgisayar�n benzetimini

yapar

h264ref C Video S�k�³t�rma H.264/AVC kodlay�c�s�n�n

referans gerçeklemesi.

omnetpp C++ Ayr�k olay benzetimi OMNet++ ayr�k olay ben-

zetimini kullanarak büyük

bir Ethernet a§�n�n benzeti-

mini yapar

astar C++ Yol bulma algoritmalar� 2 Boyutlu haritalar için

yol bulma algoritmalar�

kütüphanesi. Bilindik A*

algoritmas�n� da içerir.

Çizelge 5.1: Ölçüm programlar� aç�klamalar�

36

Page 48: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

0

2

4

6

8

10

12

14

16

Fiziksel Yazmaç Dosyası MHAE Fiziksel Yazmaç Dosyası MHAE Kazanımı

�ekil 5.4: Fiziksel yazmaç dosyas� için MHAE'deki azalma

020406080

100120

bzip2

cactusADM

calculix gcc

gromacs

hmmer

lbm

libquantum

mcf

nam

d

omnetpp

povray

soplex

ortalam

a

Program Sayacı MHAE

Program Sayacı MHAE Kazanımı

�ekil 5.5: Program sayac� için MHAE'deki azalma

37

Page 49: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

Çizelge 5.2: Benzetim ortam� de§i³kenleriParametre Yap�land�rma

�³lemci Alpha 21264

Boru Hatt� Geni³li§i 8 çek, çöz, yürüt, yaz

Pencere Boyutu 32 sat�r yükleme/saklama kuyru§u, 192 sat�ryeniden s�ralama belle§i, 256 sat�r yazmaçdosyas�

ESÖ 64 sat�r veri, 48 sat�r buyruk

L1 Buyruk Önbelle§i 32KB, 2 yollu kümeli ili³kili, 64 bayt sat�r, 1saat vuru³u isabet gecikmesi

L1 Veri Önbelle§i 64 KB, 2 yollu kümeli ili³kili, 64 bayt sat�r,1 saat vuru³u isabet gecikmesi

L2 Birle³ik Önbellek 256 KB, 16 yollu kümeli ili³kili, 64 bayt sat�r,10 saat vuru³u isabet gecikmesi

38

Page 50: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

6. SONUÇ

Bu tez çal�³mas�nda �ziksel olarak dizinlenmi³ sanal etiketli sistemlerde sanal

adres saklanan sistem yap�lar� olan etkin sayfalar önbelle§i, �ziksel yazmaç

dosyas� ve program sayac� üzerinde olu³mas� muhtemel bit hatalar�na kar³�; sanal

adres olu³turma zaman�nda kullan�lan kodlama yöntemi ve sayfa hata kotar�c�s�

üzerinde gerçeklenmi³ çözücüsünün birlikte kullan�m� ile koruma sa§lanm�³t�r.

Önerilmi³ olan yöntem sayesinde bahsi geçen donan�m yap�lar� MHAE'lerinde

etkin veri sayfalar� önbelle§i için 42.5%, etkin buyruk sayfalar� önbelle§i için

40.3%, program sayac� için 69.2% ve �ziksel yazmaç dosyas� için 33.3% düzeyinde

bir iyile³tirme sa§lanm�³t�r. Bu çal�³maya ek olarak ileride farkl� kodlama

ve çözme yöntemleri kullan�larak, veya donan�m yard�m� ile ba³ar�mda olu³an

dü³ü³ün önüne geçilebilir ve yöntemin sistem ba³ar�m�na etkisi göz ard� edilebile-

cek ³ekilde hatalara kar³� koruma sa§lanabilir.

39

Page 51: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

KAYNAKLAR

[1] In Semiconductors Industry Association (SIA), International Tech-

nology Roadmap for Semiconductors 2005, http://www.itrs.net/Links/

2005ITRS/Home2005.htm.

[2] In S. Mukherjee, "Architecture Design for Soft Errors", (Boston,Morgan-

Kafumann),2008.

[3] In T. M. Jones, M. F. P. O'Boyle, and O. Ergin, �Evaluating the e�ect

of compiler optimizations on MHAE,� in Workshop on Interaction Between

Compilers and Computer Architecture (INTERACT-12), 2008.

[4] In Kahle, J.; Sinharoy, B.; Starke, W.; Taylor, S.; Weitzel, S.; Chu,

S.G.; Islam, S.; Zyuban, V.; , "The implementation of POWER7TM: A

highly parallel and scalable multi-core high-end server processor," Solid-

State Circuits Conference Digest of Technical Papers (ISSCC), 2010 IEEE

International , vol., no., pp.102-103, 7-11 Feb. 2010.

[5] In KNa�ziger, S.D.; Hammond, G.; , "The implementation of the

next- generation 64 b ItaniumTM microprocessor," Solid-State Circuits

Conference, 2002. Digest of Technical Papers. ISSCC. 2002 IEEE

International , vol.1, no., pp.344-472 vol.1, 2002.

[6] In "Alpha Architecture Reference Manual, Fourth Edition", Compaq, 2002.

[7] In "AMD eighth generation processor architecture. AMD white paper, Oct

2001.".

[8] In "N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu,

J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell,

40

Page 52: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

M. Shoaib, N. Vaish, M. D.Hill, and D. A. Wood. The gem5 simulator.

SIGARCHComput. Archit. News, 39:1�7, Aug. 2011.

[9] In A. Gordon, editor, Programming Languages and Systems, volume 6012

of Lecture Notes in Computer Science, pages 165�184. Springer Berlin

Heidelberg, 2010.

[10] R. Baumann. Soft errors in advanced computer systems. IEEE Design and

Test of Computers, 22(3):258�266, 2005.

[11] S. Borkar. Designing reliable systems from unreliable components: the

challenges of transistor variability and degradation. Micro, IEEE, 25(6):10

� 16, nov.-dec. 2005.

[12] F. Bower, P. Shealy, S. Ozev, and D. Sorin. Tolerating hard faults in

microprocessor array structures. In Dependable Systems and Networks, 2004

International Conference on, pages 51 � 60, june-1 july 2004.

[13] D. Brooks and M. Martonosi. Dynamically exploiting narrow width operands

to improve processor power and performance. In Proceedings of the 5th

International Symposium on High-Performance Computing, page 13. IEEE

Computer Society, 1999.

[14] I. Burcea and A. Moshovos. Phantom-btb: a virtualized branch target bu�er

design. In Proceedings of the 14th international conference on Architectural

support for programming languages and operating systems, ASPLOS '09,

pages 313�324, New York, NY, USA, 2009. ACM.

[15] H. Cain and M. Lipasti. Memory ordering: a value-based approach.

In Computer Architecture, 2004. Proceedings. 31st Annual International

Symposium on, pages 90 � 101, june 2004.

[16] O. Ergin, O. Unsal, X. Vera, and A. Gonzales. Exploiting narrow values for

soft error tolerance. IEEE Computer Architecture Letters, 5(2), 2006.

[17] O. Ergin, O. Unsal, X. Vera, and A. Gonzalez. Reducing soft errors through

operand width aware policies. Dependable and Secure Computing, IEEE

Transactions on, 6(3):217 �230, july-sept. 2009.

41

Page 53: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

[18] J. F. Z. et al. Ibm experiments in soft fails in computer electronics(1978-

1994). IBM Journal of Research and Development, 40(1), 1996.

[19] J. Friedrich, B. McCredie, N. James, B. Huott, B. Curran, E. Fluhr,

G. Mittal, E. Chan, Y. Chan, D. Plass, S. Chu, H. Le, L. Clark, J. Ripley,

S. Taylor, J. Dilullo, and M. Lanzerotti. Design of the power6 microprocessor.

In Solid-State Circuits Conference, 2007. ISSCC 2007. Digest of Technical

Papers. IEEE International, pages 96 �97, feb. 2007.

[20] J. Hu, S. Wang, and S. G. Ziavras. In-register duplication: Exploiting

narrow-width value for improving register �le reliability. In Proceedings of

the International Conference on Dependable Systems and Networks, pages

281�290. IEEE Computer Society, 2006.

[21] J. Kim, N. Hardavellas, K. Mai, B. Falsa�, and J. Hoe. Multi-bit error

tolerant caches using two-dimensional error coding. In Proceedings of the 40th

Annual IEEE/ACM International Symposium on Microarchitecture, MICRO

40, pages 197�209, Washington, DC, USA, 2007. IEEE Computer Society.

[22] J. Lee and A. Shrivastava. Static analysis to mitigate soft errors in register

�les. In Proceedings of the Conference on Design, Automation and Test in

Europe, DATE '09, pages 1367�1372, 3001 Leuven, Belgium, Belgium, 2009.

European Design and Automation Association.

[23] X. Li, S. Adve, P. Bose, and J. Rivers. Softarch: an architecture-level tool for

modeling and analyzing soft errors. In Dependable Systems and Networks,

2005. DSN 2005. Proceedings. International Conference on, pages 496 � 505,

june-1 july 2005.

[24] M. H. Lipasti, B. R. Mestan, and E. Gunadi. Physical register inlining.

In Proceedings of the 31st annual international symposium on Computer

architecture, ISCA '04, pages 325�, Washington, DC, USA, 2004. IEEE

Computer Society.

[25] M. Mehrara and T. Austin. Exploiting selective placement for low-cost

memory protection. ACM Trans. Archit. Code Optim., 5(3):14:1�14:24, Dec.

2008.

42

Page 54: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

[26] G. Memik, M. Kandemir, and O. Ozturk. Increasing register �le immunity

to transient errors. In Design, Automation and Test in Europe, 2005.

Proceedings, pages 586 � 591 Vol. 1, march 2005.

[27] F. Mesa-Martinez and J. Renau. E�ective optimistic-checker tandem core

design through architectural pruning. In Microarchitecture, 2007. MICRO

2007. 40th Annual IEEE/ACM International Symposium on, pages 236 �248,

dec. 2007.

[28] S. Mukherjee, C. Weaver, J. Emer, S. Reinhardt, and T. Austin. A

systematic methodology to compute the architectural vulnerability factors

for a high-performance microprocessor. In Microarchitecture, 2003. MICRO-

36. Proceedings. 36th Annual IEEE/ACM International Symposium on,

pages 29 � 40, dec. 2003.

[29] K. Olukotun and L. Hammond. The future of microprocessors. Queue,

3(7):26�29, Sept. 2005.

[30] S. Onder and R. Gupta. Dynamic memory disambiguation in the presence

of out-of-order store issuing. In Microarchitecture, 1999. MICRO-32.

Proceedings. 32nd Annual International Symposium on, pages 170 �176,

1999.

[31] D. A. Patterson and J. L. Hennessy. Computer Organization and Design,

Fourth Edition, Fourth Edition: The Hardware/Software Interface (The

Morgan Kaufmann Series in Computer Architecture and Design). Morgan

Kaufmann, 2008.

[32] S. H. Pugsley, J. B. Spjut, D. W. Nellans, and R. Balasubramonian. Swel:

hardware cache coherence protocols to map shared data onto shared caches.

In Proceedings of the 19th international conference on Parallel architectures

and compilation techniques, PACT '10, pages 465�476, New York, NY, USA,

2010. ACM.

[33] M. Qureshi, O. Mutlu, and Y. Patt. Microarchitecture-based introspection:

a technique for transient-fault tolerance in microprocessors. In Dependable

Systems and Networks, 2005. DSN 2005. Proceedings. International

Conference on, pages 434 � 443, june-1 july 2005.

43

Page 55: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

[34] G. A. Reis, J. Chang, N. Vachharajani, R. Rangan, and D. I. August. Swift:

Software implemented fault tolerance. In Proceedings of the international

symposium on Code generation and optimization, CGO '05, pages 243�254,

Washington, DC, USA, 2005. IEEE Computer Society.

[35] J. Shen and M. Lipasti. Modern Processor Design: Fundamentals of

Superscalar Processors. McGraw-Hill, 2005.

[36] J. E. Smith. A study of branch prediction strategies. In 25 years of the

international symposia on Computer architecture (selected papers), ISCA '98,

pages 202�215, New York, NY, USA, 1998. ACM.

[37] V. Sridharan and D. Kaeli. Eliminating microarchitectural dependency from

architectural vulnerability. In High Performance Computer Architecture,

2009. HPCA 2009. IEEE 15th International Symposium on, pages 117 �128,

feb. 2009.

[38] V. Sridharan and D. R. Kaeli. Using hardware vulnerability factors to

enhance mhae analysis. In Proceedings of the 37th annual international

symposium on Computer architecture, ISCA '10, pages 461�472, New York,

NY, USA, 2010. ACM.

[39] C. Weaver, J. Emer, S. Mukherjee, and S. Reinhardt. Techniques to reduce

the soft error rate of a high-performance microprocessor. In Computer

Architecture, 2004. Proceedings. 31st Annual International Symposium on,

pages 264 � 275, june 2004.

[40] J. Yan and W. Zhang. Compiler-guided register reliability improvement

against soft errors. In Proceedings of the 5th ACM international conference

on Embedded software, EMSOFT '05, pages 203�209, New York, NY, USA,

2005. ACM.

[41] Y. Yang, G. Gopalakrishnan, G. Lindstrom, and K. Slind. Analyzing the

intel itanium memory ordering rules using logic programming and sat. In

D. Geist and E. Tronci, editors, Correct Hardware Design and Veri�cation

Methods, volume 2860 of Lecture Notes in Computer Science, pages 81�95.

Springer Berlin / Heidelberg, 2003.

44

Page 56: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

[42] D. H. Yoon and M. Erez. Virtualized and �exible ecc for main memory. In

Proceedings of the �fteenth edition of ASPLOS on Architectural support for

programming languages and operating systems, ASPLOS '10, pages 397�408,

New York, NY, USA, 2010. ACM.

45

Page 57: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

EKLER

46

Page 58: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

A. Hata Sayfa Kotar�c�s� Üzerinde

Gerçeklenmi³ Çözücünün Kaynak

Kodu

A³a§�da verilmi³ olan kod hata sayfa kotar�c�s�n�n giri³inde ça§�r�lan ve aranan

sorguda bir hata olup olmad�§�n� anlamak için kullan�lan koddur. TBCV_ETKIN

makrosu tan�ml� oldu§unda TBÇV buyruklar�n� kullanarak verinin bitlerini

saymak için kullan�l�r, aksi takdirde daha dü³ük ba³ar�ml� olan bit sayma

algoritmas� çal�³�r.

/∗ popcnt : x1 g i r d i s i n d e b i r o lan b i t s a y i s i n i dondurur ∗/uint64_t popcnt ( uint64_t x1 )

{

#i f d e f TBCV_ETKIN

return _mm_popcnt_u64( x1 ) ;

#e l s e

unsigned i n t c ;

f o r ( c = 0 ; x1 ; c++)

{

x1 &= x1 − 1 ;

}

re turn c ;

#end i f

}

47

Page 59: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

/∗ decode_cw : recvd i l e b e l i r t i l e n sana l ad r e s t e hata var i s e bunu du z e l t i r ve sonuc o la rak

du z e l t i lm i s h a l i n i dondurur ∗/uint64_t decode_cw ( uint64_t recvd , uint64_t ∗ synd_table )

{

uint64_t r e s u l t = 0 ;

f o r ( i n t i = 0 ; i < SYND_TABLE_SIZE; i++) {

i f ( ( popcnt ( recvd&synd_table [ i ] )&1)) {

__set_bit ( i , &r e s u l t ) ;

}

}

re turn r e s u l t ;

}

48

Page 60: M KRO LEMC LERDE SANAL ADRESLERDEN …m kro lemc lerde sanal adreslerden ararlanilaraky geÇ c haalarat kar i koruma sa lanmasi amany ÇakmakÇi yÜksek l sans tez b lg saary mÜhend

ÖZGEÇM��

Ki³isel Bilgiler

Soyad�, Ad� : Yaman Çakmakç�

Uyru§u : T.C.

Do§um tarihi ve yeri : 24.12.1982 Ankara

Medeni hali : Bekar

Telefon : +90-533-7300888

Faks :

e-mail : [email protected]

E§itim

Derece E§itim Birimi Mezuniyet Tarihi

Y. Lisans TOBB Ekonomi ve Teknoloji Üniversitesi 2012

Lisans Çankaya Üniversitesi 2007

�³ Deneyimi

Y�l Yer Görev

2007-2011 TÜB�TAK UZAY Ara³t�rmac�

Yabanc� Dil

�ngilizce (Çok iyi)

Yay�nlar

Mehmet Durna, Onur Atar, Mustafa Ceylan, Yaman Cakmakci, Mustafa Demirci,

Omer Ali Kozal, Mehmet Oturak, Ali Ozdemir, Onur Turhan, �On Board Data

Handling Subsytem Featuring BiLGE�, Recent Advances in Space Technologies

2011

49


Recommended