Instituto de Informática and Dipartimento di Automatica e Informatica Universidade Federal do Rio Grande do Sul and Politecnico di Torino Porto Alegre,

Slides:



Advertisements
Similar presentations
Embedded Systems Laboratory and Electrical Engineering Department Informatics Institute and Engineering School Federal University of Rio Grande do Sul.
Advertisements

PhD Student: Carlos Arthur Lang Lisbôa Advisor: Luigi Carro VLSI-SoC PhD Forum Low overhead system level approaches to deal with multiple and long.
CPU Structure and Function
Machine cycle.
I/O Organization popo.
Presenter: Jyun-Yan Li On the Generation of Functional Test Programs for the Cache Replacement Logic W. J. Perez H. Universidad del Valle Grupo de Bionanoelectrónica.
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
IMPACT Second Generation EPIC Architecture Wen-mei Hwu IMPACT Second Generation EPIC Architecture Wen-mei Hwu Department of Electrical and Computer Engineering.
CPU Review and Programming Models CT101 – Computing Systems.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
Application of Binary Translation to Java Reconfigurable Architectures Antonio Carlos S. Beck Filho Luigi Carro Instituto.
Chapter 12 Pipelining Strategies Performance Hazards.
Carlos Arthur Lang Lisbôa, Luigi Carro DATE EDAA PhD Forum Dealing with Multiple Simultaneous Faults in Future Technologies INFORMÁTICA Universidade.
Embedded Systems Laboratory Informatics Institute Federal University of Rio Grande do Sul Porto Alegre – RS – Brazil SRC TechCon 2005 Portland, Oregon,
Carlos Arthur Lang Lisbôa, Erik Schüler, Luigi Carro SRC TechCon 2005 Dealing with Multiple Simultaneous Faults in Future Technologies in Future Technologies.
Fehlererkennung in SW David Rigler. Overview Types of errors detection Fault/Error classification Description of certain SW error detection techniques.
Synthesis of Custom Processors based on Extensible Platforms Fei Sun +, Srivaths Ravi ++, Anand Raghunathan ++ and Niraj K. Jha + + : Dept. of Electrical.
Chapter 12 CPU Structure and Function. Example Register Organizations.
Carlos Arthur Lang Lisbôa, Erik Schüler, Luigi Carro SRC TechCon 2005 Dealing with Multiple Simultaneous Faults in Future Technologies in Future Technologies.
From Essentials of Computer Architecture by Douglas E. Comer. ISBN © 2005 Pearson Education, Inc. All rights reserved. 7.2 A Central Processor.
BIST vs. ATPG.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Lect 13-1 Lect 13: and Pentium. Lect Microprocessor Family  Microprocessor  Introduced in 1989  High Integration  On-chip 8K.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
INTRODUCTION TO MICROPROCESSORS
5-Stage Pipelining Fetch Instruction (FI) Fetch Operand (FO) Decode Instruction (DI) Write Operand (WO) Execution Instruction (EI) S3S3 S4S4 S1S1 S2S2.
Parallelism Processing more than one instruction at a time. Pipelining
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Previously Fetch execute cycle Pipelining and others forms of parallelism Basic architecture This week we going to consider further some of the principles.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
Computer Architecture and Organization Introduction.
A RISC ARCHITECTURE EXTENDED BY AN EFFICIENT TIGHTLY COUPLED RECONFIGURABLE UNIT Nikolaos Vassiliadis N. Kavvadias, G. Theodoridis, S. Nikolaidis Section.
Introduction of Intel Processors
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Presenter: Jyun-Yan Li A hybrid approach to the test of cache memory controllers embedded in SoCs’ W. J. Perez, J. Velasco Universidad del Valle Grupo.
LOGO Soft-Error Detection Through Software Fault-Tolerance Techniques by Gökhan Tufan İsmail Yıldız.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
The Central Processing Unit (CPU) and the Machine Cycle.
Lecture 14 Today’s topics MARIE Architecture Registers Buses
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
Morgan Kaufmann Publishers
1 A single-cycle MIPS processor  An instruction set architecture is an interface that defines the hardware operations which are available to software.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Eduardo L. Rhod, Álisson Michels, Carlos A. L. Lisbôa, Luigi Carro ETS 2006 Fault Tolerance Against Multiple SEUs using Memory-Based Circuits to Improve.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
Power Analysis of Embedded Software : A Fast Step Towards Software Power Minimization 指導教授 : 陳少傑 教授 組員 : R 張馨怡 R 林秀萍.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Evaluating the Fault Tolerance Capabilities of Embedded Systems via BDM M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dipartimento di Automatica.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Overview of microcomputer structure and operation
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Computer Organization and Architecture Lecture 1 : Introduction
A New Approach to Software-Implemented Fault Tolerance
Assembly language.
Software Coherence Management on Non-Coherent-Cache Multicores
Control Unit Lecture 6.
A Closer Look at Instruction Set Architectures
Soft-Error Detection through Software Fault-Tolerance Techniques
nZDC: A compiler technique for near-Zero silent Data Corruption
INTRODUCTION TO MICROPROCESSORS
Functional Units.
INSTRUCTION SET DESIGN
Presentation transcript:

Instituto de Informática and Dipartimento di Automatica e Informatica Universidade Federal do Rio Grande do Sul and Politecnico di Torino Porto Alegre, Brazil and Torino, Italy DFT 2006 Washington, DC, USA Online Hardening of Programs Against SEUs and SETs Carlos Lisbôa Massimo Violante Matteo Sonza Reorda Luigi Carro

Luigi Carro DFT October 4-6, Porto Alegre Brasil Torino Italia Arlington Washington, DC USA A small world...

Luigi Carro DFT October 4-6, Hardening by hardware duplication duplicates the core processor requires additional control hardware  significant area overhead Memory PP bus PP ? error

Luigi Carro DFT October 4-6, Memory PP abus cbus dbus Extra data and code requires modification of the software duplication of variables error detection codes extra instructions to process them  memory + performance overhead SIHFT:software-implemented hardware fault tolerance

Luigi Carro DFT October 4-6, A hybrid technique Memory PP abus cbus dbus Extra data and code requires modification of the software reduced memory overhead reduced performance overhead I-IP error

Luigi Carro DFT October 4-6, Outline Proposed approach The I-IP Design flow Experimental results Conclusions and future work

Luigi Carro DFT October 4-6, Proposed approach non-intrusive IP core added to SoC allows hardware and software transparency no need to modify the source code of the application (which sometimes is not available) no need to modify the core processor (which sometimes is not available) the I-IP performs instruction hardening, consistency and control flow checks scalable technique, with area and performance tradeoffs adjustable at design time

Luigi Carro DFT October 4-6, Overall architecture PP abus cbus dbus I-IP error IRQ abus cbus dbus Code Memory

Luigi Carro DFT October 4-6, the I-IP intercepts instructions fetched from memory by the core processor if the instruction is to be hardened (this is a design time option), it is replaced by a sequence of instructions this sequence is sent to the processor by the I-IP instead of the instruction originally fetched from the application Instruction hardening

Luigi Carro DFT October 4-6, PP abus cbus dbus I-IP error IRQ abus cbus dbus Code Memory Instruction hardening store I-IP-adx, src1 store I-IP-adx, src2 opcode dst, src1, src2 store I-IP-adx, dst branch FETCH_ADX+offset opcode dst, src1, src2

Luigi Carro DFT October 4-6, the sequence of instructions provides the operand and result values for the I-IP the I-IP executes the same operation in parallel with the core processor the consistency of the result produced by the core processor is checked by the I-IP against its own result in case of mismatch, an error signal is activated Consistency check

Luigi Carro DFT October 4-6, Note: offset = size of the instruction Control flow check memory transfer, data processing and I/O instructions A next = A + offset branch instructions taken: A taken = branch destination not taken: A next = A + offset

Luigi Carro DFT October 4-6, Outline Proposed approach The I-IP Design flow Experimental results Conclusions and future work

Luigi Carro DFT October 4-6, Architecture of the I-IP CPU interface Memory interface Fetch logic Decode logic ALU Control Unit abusdbuscbus abusdbuscbusIRQ

Luigi Carro DFT October 4-6, Assumptions the target system is a SoC with a processor core running a dedicated application the I-IP is inserted in the SoC chip between the program memory and the core processor there is no instruction cache, or it can be disabled instruction and data memories hardened by suitable EDAC

Luigi Carro DFT October 4-6, Outline Proposed approach Assumptions Overall architecture The I-IP Design flow Experimental results Conclusions and future work

Luigi Carro DFT October 4-6, Design Flow Binary code Disassembler Instruction mix I-IP generator I-IP VHDL model Constraints

Luigi Carro DFT October 4-6, Outline Proposed approach Assumptions Overall architecture The I-IP Design flow Experimental results Conclusions and future work

Luigi Carro DFT October 4-6, Attained experimental results (using an Intel 8051 compatible SoC) (*) related to original SoC area (core processor + memory, without I-IP) = 52,343  m²

Luigi Carro DFT October 4-6, Outline Proposed approach Assumptions Overall architecture The I-IP Design flow Experimental results Conclusions and future work

Luigi Carro DFT October 4-6, Conclusions the proposed technique is non intrusive, and requires no change in the core processor IP it does not introduce any memory overhead in the hardened system since no change in the application source code is required, source code is not necessary selection of instructions to be hardened allows to trade cost x reliability  scalability

Luigi Carro DFT October 4-6, Future Work hardware implementation of the I-IP to evaluate the area overhead it introduces extension of the technique to allow the use of the core processor’s cache memory use of application profiling to detect optimal mix of instructions to be hardened improve the technique aiming to achieve better performance (lower overhead)

Luigi Carro DFT October 4-6, Questions ? Contact: Thank You !

Luigi Carro DFT October 4-6, I have some questions: Anybody going to Dulles Friday evening? Willing to share a cab?

Luigi Carro DFT October 4-6, original instruction: Instruction hardening store I-IP-adx, src1 store I-IP-adx, src2 opcode dst, src1, src2 store I-IP-adx, dst branch FETCH_ADX+offset FETCH_ADX:opcode dst, src1, src2 source operands and result fetching