Hataya bağışıklı mikroişlemci tasarımı
Fault tolerant microprocessor design
- Tez No: 418996
- Danışmanlar: PROF. DR. MÜŞTAK ERHAN YALÇIN
- Tez Türü: Yüksek Lisans
- Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2015
- Dil: Türkçe
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Elektronik Mühendisliği Bilim Dalı
- Sayfa Sayısı: 94
Özet
Bu tez kapsamında gömülü mikroişlemcilerin içerisinde meydana gelebilecek hatalara rağmen işlevine devam edebilmesi için devreyi güçlendirmeye yönelik tasarım yapılmıştır. Mikroişlemciler birçok güvenliği kritik gömülü sistem uygulamalarında kullanılmaktadır ve sistemlerde bir beyin görevi gördüğü için düzgün bir şekilde çalışması kritik önem taşımaktadır. Transistör boyutlarının küçültülmesi devrelerin hatalara daha yakın olmasına yol açmakta ve bu sorun sistemlerde güvenilirlik problemini beraberinde getirmektedir. Üretim hataları, yıpranma gibi etkenlerin yanısıra elemanların faydalı çalşma ömrü içerisinde radyasyon gibi çevresel etkilerin yol açtığı tek durum etkileri kombinezonsal devrelerdeki lojik hatalar veya bellek hücrelerindeki verilerin değişmesine sebep olan bit bozumaları gibi geçici hatalara ve artan oranla olu¸san geçici etkiler sonucu kalıcı hata olu¸sumlarına sebep olmaktadır. Bu sebeplerden dolayı hataya bağışıklı tasarım göz ardı edilemeyecek derecede gerekli ve önemli olmaktadır. Bu çalışmada ilk olarak bir devrenin hatalar varken davranışının gözlemlenebilmesi için bir sistem gerçeklenmi¸stir. Öncelikle hata üretim devresi tasarlanmıştır. Ardından test edilecek tasarım olarak 8-bitlik İndirgenmiş Komut Takımı Bilgisayarı (Reduced Instruction Set Computing-RISC) mimarisi ile tasarlanmış Natalius mikroişlemcisi seçilmiştir. Gerekli ara birimler oluşturulup bağlantılar yapılmış ve sonuçlar elde edilerek grafikler yorumlanmıştır. Kaydedici dosyası, mikroişlemci içerisinde sıklıkla erişilen kısımdır. Aritmetik ve mantıksal işlemler bu birim üzerinden yapılır ve içerisine gelebilecek bir hatanın tüm sistemi etkilemesi olasıdır. Bu nedenle mikroişlemcilerdeki kaydedici dosyalarını korumak için literatürde yer alan hataya karşı bağışıklık kazandırma yöntemleri incelenmiştir. Bu yöntemlerden donanım yedeklemesi sınıfına giren üçlü modül çoğullama yönteminin çoğunluk oylama devresinden ve bilgi yedeklemesi sınıfına giren matris kodlarının koruma bitleri hesaplarından faydalanılarak çoklu bit bozulmalarına karşı veriyi koruyan kodseti adında yeni bir yöntem önerilmi¸stir. TMR yöntemi 3 adet eş modül bulundurur ve çıkı¸sa ço˘gunluk oylamasına göre karar verilir. Herhangi bir yere gelen hata maskelenir. Matris kodları ise hata tespit etme ve düzeltme kapasitesine sahiptir ve bu amaçla eşlik ve kontrol bitleri hesaplanır. Tasarımdaki temel fikir, kaydedici bitlerine ardı¸sık olarak gelen hatalara karşı bir yöntem geli¸stirmektir. Bu nedenle veri kodsetlerine ayrılır. Ayrıca rastgele bitlere gelen hatalara karşı da veri korunabilmektedir. Eşlik ve kontrol bitlerine gelen hataların orjinal veriyi yanlış düzeltmesini engellemek için oylama mekanizması geliştirilmiştir. 2, 4 veya 8 biti koruyabilecek şekilde ayarlanabilir olması nedeniyle kullanışlı bir yöntem olmaktadır. Bu yöntemi mikroi¸slemci içerisinde uygulayabilmek için MIPS mimarisi ile 32-bitlik hem tek çevrim hem de iş hatlı mikroişlemci tasarımı yapılmıştır. Mikroişlemci üzerinde uygulama kodu çalı¸stırmak için Gelişmiş Şifreleme Standartı algoritması seçilmiş ve şifreleme modülü eklenerek komut geni¸sletmesi yapılmıştır. Kaydedici dosyasının hataya karşı bağışıklık kazandırma yöntemleriyle tasarımı yapılmıştır. Hata üretim devresi kullanılarak farklı durumlarda simülasyon çıktıları alınmıştır. Tasarımlar TSMC 90 nm teknolojisinin standart kütüphanesi ile Cadence firmasının RTL Compiler aracı kullanılarak sentezlenip yerle¸simleri yapılmış alan, maksimum çalı¸sma frekansı bilgileri verilmiştir. Ayrıca güvenilirlik analizleri yapılarak sonuçlar karşılaştırılmıştır.
Özet (Çeviri)
In this thesis, a fault tolerant microprocessor has been designed in order to operating correctly against faults. Microprocessors are used in safety-critical embedded system applications and they are main part of the system and their correct functionality is essential. With transistor scaling, circuits are more susceptible to errors and it leads to reliability concern in the systems. Besides the manufacture faults, wear-out factors, single event effects (SEEs), that occur because of the environmental factors such as radiation effects, cause from logical errors in combinational circuits, to upsets changing data, to destructive hard errors with increasing soft error rate. SEEs causes single event upsets (SEUs) which is bit-flips or changing the state on flip-flops, memory cells due to the impact of particles, such as neutrons and alpha particles. Although SEU is the major concern for some critical applications, multiple bit upsets (MBU) are also becoming important problems in designing memories due to the fact that the probability of MBU generation is increasing in modern technologies. Due to the these reasons, fault tolerant design is so necessary and crucial. Fault tolerance is the ability of a system to continue performing its intended function in spite of faults. In a broad sense, fault tolerance is associated with reliability. Redundancy is redundancy is the provision of functional capabilities that would be unnecessary in a fault-free environment. This can be a replicated hardware component, an additional check bit attached to a string of digital data, or a few lines of program code verifying the correctness of the program results. Hardware redundancy is achieved by providing two or more physical instances of a hardware component. Many hardware fault-tolerance techniques have been developed and used in practice in critical applications ranging from telephone exchanges to space missions. Especially in the embedded systems domain, it brings a number of penalties: increase in weight, size, power consumption, as well as time to design, fabricate, and test. The basic form of redundancy is duplication with comparison (DWC). Two identical modules perform the same computation in parallel. The results of the computation are compared using a comparator. If the results disagree, an error signal is generated. A duplication with comparison scheme can detect only one module fault. After the fault is detected, no actions are taken by the system to return back to the operational state. The most common form of passive hardware redundancy is triple modular redundancy (TMR). There are 3 identical modules in TMR and output is decided based on the majority voting. If one of the modules fails, the majority voter will mask the fault by recognizing as correct the result of the remaining two fault-free modules. A TMR system can mask only one module fault. A failure in either of the remaining modules would cause the voter to produce an erroneous result. Information redundancy is redundancy into the data. Because, errors in data may occur when the data are being transferred from one unit to another, from one system to another, or even while the data are stored in a memory unit. The most common form of information redundancy is error detection and correction (EDAC), which adds check bits to the data, allowing us to verify the correctness of the data before using it and, in some cases, even allowing the correction of the erroneous data bits with lower overhead. The simplest type of EDAC is a Single Parity Check which computes the exclusive-or (XOR) of the k data bits, and appends this single parity bit to the data block to form the overall coded block. This can only detect errors. Single Error Correction (SEC) codes which can correct a single bit error in a block are commonly used to protect memories and circuits when error detection is not sufficient. There are different types of SEC codes, a famous example being the class of Hamming codes. A Single Error Correction Double Error Detection (SEC-DED) code can be constructed from a Hamming code by adding a parity bit; this parity bit is used to identify single errors and avoid miscorrection (this is often referred to as an extended Hamming code. Matrix codes, combines Hamming and Parity codes to assure the improvement of reliability and yield of the memory chips in the presence of high defects and MBUs. Fault injection is a key to evaluating fault-tolerant techniques. Those approaches can be divided into hardware based fault injection and software based fault injection. Furthermore, software based fault injection can be classified as software-implemented fault injections and simulation based fault injections. One type of the simulation based fault injections, Verilog HDL,with the high observability and controllability can be obtained. Selection of open source microprocessor ,design of fault injection circuit, modification of the microprocessor writing an application code and analyzing the results are the steps of the fault injection to the microprocessor. First of all in order to observe the behaviour of a circuit when faults exist, a fault injection circuit has been designed. Natalius microprocessor, which is 8-bit Reduced Instruction Set Computer (RISC) processor, has been chosen as design under test. Necessary interfaces have been formed and all the units have been connected to each other. Then, results have been obtained. Register file is accessed frequently by the microprocessor. Arithmetic and logic operations are performed on register values. Therefore a fault, which occurs inside it, can effect whole system. That's why, fault tolerant techniques to protect register files have been examined in the literature. A new method, called as codeset, has been proposed by making use of the majority voter circuit of TMR, which is one of hardware redundancy method, and calculations of protection bits of matrix code. The key idea of the design is developing a method in order to protect register file against burst errors. So, codesets have been created. Moreover, random faults in a register can be corrected. A voting mechanism has been developed and wrong correction of the original data has been prevented because of the faults that occurs parity or check bits. This technique is cost effective and configurable because codesets can be created to protect data against up to 2, 4 or 8-bit adjacent or random errors in any register. In order to use the method in microprocessor, both 32-bit single cycle and pipeline microprocessors have been designed with MIPS architecture. One of the most safety critical usage of microprocessors is cryptography. Cryptographic algorithms can be implemented in MIPS easily. AES (Advanced Encryption Standard) is a very widespread symmetric-cryptography algorithm for encrypting data. FPGAs (Field Programmable Gate Arrays) and ASICs (Application Specific Integrated Circuits) provide suitable platforms for implementations of the algorithm. Therefore, Advanced Encryption Standard (AES) algorithm has been chosen and crypto module has been integrated into MIPS microprocessor so as to create an application platform. Register files have been designed with fault tolerant techniques. By using fault injection circuit, simulations have been performed in different situations. Reliability is is the probability of a device performing its purpose adequately for the period of time intended under the operating conditions encountered. It increases with the fault tolerant design approach. In this study, reliability values have been calculated for the fault tolerant techniques. Designs have been synthesized by using Cadence RTL Compiler on TSMC 90nm process. Area, maximum frequency results have been given. Furthermore, reliability analysis have been made and results have been compared.
Benzer Tezler
- Survivable virtual topology design in optical WDM networks using nature-inspired algorithms
Doğa esinli algoritmalar kullanarak optik WDM ağlarda hataya bağışık sanal topoloji tasarlama
FATMA CORUT ERGİN
Doktora
İngilizce
2012
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Bilimleri Ana Bilim Dalı
DOÇ. DR. AYŞEGÜL YAYIMLI
DOÇ. DR. ŞİMA UYAR
- Derin öğrenme yöntemleri ile periferik yayma görüntülerinin analizi ve sınıflandırılması
Analysis and classification of peripheral blood smear images using deep learning methods
YUSUF YARGI BAYDİLLİ
Doktora
Türkçe
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKarabük ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ ÜMİT ATİLA
- Activation induced deaminase (AID)'ın pankreas kanserindeki rolü
Başlık çevirisi yok
BETÜL MELİKE OĞAN
Yüksek Lisans
Türkçe
2016
GenetikŞifa ÜniversitesiTıbbi Biyoloji ve Genetik Ana Bilim Dalı
DOÇ. DR. HÜSEYİN SARIBAŞAK
PROF. DR. SELİM UZUNOĞLU
- Custom hardware optimizations for reliable and high performance computer architectures
Güvenilir ve yüksek performanslı bilgisayar mimarileri için özel donanım optimizasyonları
HAMZEH AHANGARI
Doktora
İngilizce
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİhsan Doğramacı Bilkent ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ÖZCAN ÖZTÜRK
- Ant colony optimization for survivable virtual topology mapping in optical WDM networks
Optik ağlarda karınca koloni algoritmaları kullanarak sanal topoloji üzerindeki ışık yollarının hataya bağışık olarak yönlendirilmesi
ELİF KALDIRIM
Yüksek Lisans
İngilizce
2009
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. A. ŞİMA UYAR
YRD. DOÇ. DR. AYŞEGÜL YAYIMLI