AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware
|
|
- Peter Baldwin
- 5 years ago
- Views:
Transcription
1 AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware Ute Schiffel Christof Fetzer Martin Süßkraut Technische Universität Dresden Institute for System Architecture SafeComp 2009 International Conference on Computer Safety, Reliability and Security Ute Schiffel (TUD) SafeComp / 15
2 Motivation Introduction Situation: commodity hardware is unreliable economic pressure commodity hardware in safety critical systems unknown unknown: silently corrupted output? Ute Schiffel (TUD) SafeComp / 15
3 Introduction Motivation Situation: commodity hardware is unreliable economic pressure commodity hardware in safety critical systems unknown unknown: silently corrupted output? Our Objective: failure virtualization: silently corrupted output fail-stop (crash) practicability: hardware independence completeness ease of use encoding compiler justifiable performance impact Ute Schiffel (TUD) SafeComp / 15
4 Motivation How Reliable is Commodity Hardware? [Borkar, 2005]: The reliability challenge large fraction of unusable transistors frequent soft-errors faster aging transistors Ute Schiffel (TUD) SafeComp / 15
5 Motivation How Reliable is Commodity Hardware? [Borkar, 2005]: The reliability challenge large fraction of unusable transistors frequent soft-errors faster aging transistors [Dixit et al., 2009]: neutron beam testing revealed: decreased memory error rates per bit, but larger memories more multiple-cell upsets more errors in logical circuits than in memory Ute Schiffel (TUD) SafeComp / 15
6 Motivation How Reliable is Commodity Hardware? [Borkar, 2005]: The reliability challenge large fraction of unusable transistors frequent soft-errors faster aging transistors [Dixit et al., 2009]: neutron beam testing revealed: decreased memory error rates per bit, but larger memories more multiple-cell upsets more errors in logical circuits than in memory [Schroeder et al., 2009]: observed Google s server fleet: higher memory error rates than expected: 25,000 to 70,000 errors per billion device hours per Mbit memory errors dominated by hard errors Ute Schiffel (TUD) SafeComp / 15
7 Motivation Detection of Errors How? We chose Arithmetic Code because detection of: data modifications, and computation errors Ute Schiffel (TUD) SafeComp / 15
8 Motivation Presentation Outline introduction to Arithmetic Code: AN-code encoding problems and solutions performance impact and detection capabilities What next? Ute Schiffel (TUD) SafeComp / 15
9 Arithmetic Codes Arithmetic Codes redundant representation of numbers conserved by correct arithmetic operations destroyed by faulty arithmetic operations domain of possible code words valid code word fault free addition operation faulty addition operation Ute Schiffel (TUD) SafeComp / 15
10 AN-code Arithmetic Codes encoding x f : x c = A x f decoding: x f = x c A code checking: x c mod A == 0? choice of A: large prime number probability of undetectable data modification: p = number of valid code words number of possible code words = 1 A Ute Schiffel (TUD) SafeComp / 15
11 Arithmetic Codes Detectable Errors without faultsyz c Original source code: x = y + z Encoded version: x c = y c + z c = A y f + A z f Code checking: x c mod A = 0? Ute Schiffel (TUD) SafeComp / 15
12 Arithmetic Codes Detectable Errors operation error: faulty addition Original source code: x = y + z Encoded version: x c = y c + z c +err = A y f + A z f +err Code checking: x c mod A = err 0 Ute Schiffel (TUD) SafeComp / 15
13 Detectable Errors Arithmetic Codes modified operand: bitflip on z c Original source code: x = y + z Encoded version: x c = y c +z c = A y f + A z f +err Code checking: x c mod A = err 0 Ute Schiffel (TUD) SafeComp / 15
14 Arithmetic Codes Problems in Applying an AN-code Our solutions for: overflow behavior according to C standard own set of encoded arithmetic operations floating point operations encoded shifts encoded unaligned memory access encoded bitwise logical operations encodable software implementations Ute Schiffel (TUD) SafeComp / 15
15 Arithmetic Codes Problems in Applying an AN-code Our solutions for: overflow behavior according to C standard own set of encoded arithmetic operations floating point operations encoded shifts encoded unaligned memory access encoded bitwise logical operations encodable software implementations Previous approaches: incomplete encoding, and/or less safe code Ute Schiffel (TUD) SafeComp / 15
16 Arithmetic Codes Problems in Applying an AN-code Our solutions for: overflow behavior according to C standard own set of encoded arithmetic operations floating point operations encoded shifts encoded unaligned memory access encoded bitwise logical operations encodable software implementations Previous approaches: incomplete encoding, and/or less safe code We are able to encode programs completely Ute Schiffel (TUD) SafeComp / 15
17 Arithmetic Codes Encoded bitwise logical operations example: not u i n t 3 2 t nottab [ ] = {0xFFFF, 0xFFFE, 0xFFFD,... } ; u i n t 3 2 t not ( u i n t 3 2 t a ){ // d i v i d e parameter a i n t o a1 = a / 0 x10000 ; // upper and a2 = a % 0 x10000 ; // l o w e r 16 b i t // f e t c h negated v e r s i o n f o r both p a r t s r1 = nottab [ a1 ] ; r2 = nottab [ a2 ] ; } // combine both 16 b i t r e s u l t s return r1 0 x r2 ; Ute Schiffel (TUD) SafeComp / 15
18 How slow is it? Evaluation application: slowdown: md5 238 tcas 137 pid 49 primes 8 Table 1: Slow down in x times slower than native execution. slowdown depends largely on workload reason: great differences between encoded operations slowdowns programmers should avoid operations whose encoded version is slow Ute Schiffel (TUD) SafeComp / 15
19 Evaluation How many errors does it detect? normalized behavior in % EO1E02 FO LS MO ALLProb EO1E02 FO LS MO ALLProb primes native primes AN-encoded EO1E02 FO LS MO ALLProb EO1E02 FO LS MO ALLProb tcas native tcas AN-encoded normalized behavior in % EO1E02 FO LS MO ALLProb EO1E02 FO LS MO ALLProb md5 native md5 AN-encoded EO1E02 FO LS MO ALLProb EO1E02 FO LS MO ALLProb pid native pid AN-encoded no error correct output failure detected performance failure incorrect output Ute Schiffel (TUD) SafeComp / 15
20 Evaluation Undetectable Errors exchanged operand error: z c u c Original source code: x = y + z Encoded version: x c = y c +u c = A y f +A u f Code checking: x c mod A = 0 not detected Ute Schiffel (TUD) SafeComp / 15
21 Evaluation Undetectable Errors operator error: + operand error: z c u c Original source code: x = y + z Encoded version: x c = y c z c = A y f A z f Code checking: x c mod A = 0 not detected Ute Schiffel (TUD) SafeComp / 15
22 Evaluation Make these Errors Detectable AN-code with signatures first presented by [Forin, 1989]: incomplete presentation restricted applicability: dynamically allocated memory not supportable our previous work [Wappler and Fetzer, 2007]: incomplete encoding way too slow because of interpreter-based approach Goal: ANB-encoding compiler Ute Schiffel (TUD) SafeComp / 15
23 The End Evaluation Thank you very much for the attention. Questions? Ute Schiffel (TUD) SafeComp / 15
24 Borkar, S. (2005). Designing reliable systems from unreliable components: The challenges of transistor variability and degradation. IEEE Micro, 25(6): Dixit, A., Heald, R., and Wood, A. (2009). Trends from ten years of soft error experimentation. In System Effects of Logic Soft Errors (SELSE). Forin, P. (1989). Vital coded microprocessor principles and application for various transit systems. In IFA-GCCT, pages Ute Schiffel (TUD) SafeComp / 5
25 Schroeder, B., Pinheiro, E., and Weber, W.-D. (2009). Dram errors in the wild: a large-scale field study. In SIGMETRICS 09: Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems, pages , New York, NY, USA. ACM. Wappler, U. and Fetzer, C. (2007). Software encoded processing: Building dependable systems with commodity hardware. In The 26th International Conference on Computer Safety, Reliability and Security (SafeComp 2007). Ute Schiffel (TUD) SafeComp / 5
26 Encoding an Application Workflow Implementation using LLVM compiler framework: 1 replace unencodable instructions with their encodable version: example: shift right division by power of two 2 replace all instructions with their AN-encoded version 3 replace all initializiation values and constants with their AN-encoded versions 4 lower to binary code Ute Schiffel (TUD) SafeComp / 5
27 Micro Evaluation Slowdown Encoded Arithmetic Operations Slowdown addition subtraction multiplication unsigned division signed division compare equal compare unequal unsigned signed greater than greater than unsigned less than signed less than Ute Schiffel (TUD) SafeComp / 5
28 Micro Evaluation Slowdown Replacement Operations slowdown: compared to native not8 not16 not32 and8 and16 and32 or8 or16 or32 xor8 xor16 xor32 urem8 urem16 urem32 srem8 srem16 srem32 AN-encoded replacement operations un-encoded replacement operations ashr8 ashr16 ashr32 sext-8-to-16 sext-8-to-32 sext-16-to-32 trunc-16-to-8 trunc-32-to-8 trunc-32-to-16 Ute Schiffel (TUD) SafeComp / 5
SIListra. Coded Processing in Medical Devices. Dr. Martin Süßkraut (TU-Dresden / SIListra Systems)
SIListra making systems safer Coded Processing in Medical Devices Dr. Martin Süßkraut (TU-Dresden / SIListra Systems) martin.suesskraut@se.inf.tu-dresden.de Embedded goes Medical 5./6. Oct. 2011 1 SIListra
More informationANB- and ANBDmem-Encoding: Detecting Hardware Errors in Software
ANB- and ANBDmem-Encoding: Detecting Hardware Errors in Software Ute Schiffel, André Schmitt, Martin Süßkraut, and Christof Fetzer Technische Universtät Dresden Department of Computer Science http://wwwse.inf.tu-dresden.de
More informationAN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware
AN-Encoding Compiler: Building Safety-Critical Systems with Commodity Hardware Christof Fetzer, Ute Schiffel, and Martin Süßkraut Technische Universtät Dresden Department of Computer Science http://wwwse.inf.tu-dresden.de
More informationCS 31: Intro to Systems Binary Arithmetic. Martin Gagné Swarthmore College January 24, 2016
CS 31: Intro to Systems Binary Arithmetic Martin Gagné Swarthmore College January 24, 2016 Unsigned Integers Suppose we had one byte Can represent 2 8 (256) values If unsigned (strictly non-negative):
More informationCOMPUTER ARCHITECTURE AND ORGANIZATION. Operation Add Magnitudes Subtract Magnitudes (+A) + ( B) + (A B) (B A) + (A B)
Computer Arithmetic Data is manipulated by using the arithmetic instructions in digital computers. Data is manipulated to produce results necessary to give solution for the computation problems. The Addition,
More informationThe CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:
The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within
More informationComputer Architecture and Organization: L04: Micro-operations
Computer Architecture and Organization: L4: Micro-operations By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, ah.abdulhafez@gmail.com, hafez@research.iiit.ac.in 1 Outlines 1. Arithmetic microoperation 2.
More informationHardware Error Detection Using AN-Codes
Hardware Error Detection Using AN-Codes Dissertation zur Erlangung des akademischen Grades Doktoringenieur (Dr.-Ing.) vorgelegt an der Technischen Universität Dresden Fakultät Informatik eingereicht von
More informationHAFT Hardware-Assisted Fault Tolerance
HAFT Hardware-Assisted Fault Tolerance Dmitrii Kuvaiskii Rasha Faqeh Pramod Bhatotia Christof Fetzer Technische Universität Dresden Pascal Felber Université de Neuchâtel Hardware Errors in the Wild Online
More informationEliminating Single Points of Failure in Software Based Redundancy
Eliminating Single Points of Failure in Software Based Redundancy Peter Ulbrich, Martin Hoffmann, Rüdiger Kapitza, Daniel Lohmann, Reiner Schmid and Wolfgang Schröder-Preikschat EDCC May 9, 2012 SYSTEM
More informationMore about Binary 9/6/2016
More about Binary 9/6/2016 Unsigned vs. Two s Complement 8-bit example: 1 1 0 0 0 0 1 1 2 7 +2 6 + 2 1 +2 0 = 128+64+2+1 = 195-2 7 +2 6 + 2 1 +2 0 = -128+64+2+1 = -61 Why does two s complement work this
More informationStealthWorks: Emulating Memory Errors
StealthWorks: Emulating Memory Errors Musfiq Rahman, Bruce R. Childers and Sangyeun Cho Computer Science Department, University of Pittsburgh, Pittsburgh PA 15260 USA Abstract. A study of Google s data
More informationIntroduction to Computer Science. Homework 1
Introduction to Computer Science Homework. In each circuit below, the rectangles represent the same type of gate. Based on the input and output information given, identify whether the gate involved is
More informationSigned Multiplication Multiply the positives Negate result if signs of operand are different
Another Improvement Save on space: Put multiplier in product saves on speed: only single shift needed Figure: Improved hardware for multiplication Signed Multiplication Multiply the positives Negate result
More informationECE 2020B Fundamentals of Digital Design Spring problems, 6 pages Exam Two Solutions 26 February 2014
Problem 1 (4 parts, 21 points) Encoders and Pass Gates Part A (8 points) Suppose the circuit below has the following input priority: I 1 > I 3 > I 0 > I 2. Complete the truth table by filling in the input
More informationChapter 4 Arithmetic Functions
Logic and Computer Design Fundamentals Chapter 4 Arithmetic Functions Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Iterative combinational
More informationFixed-Point Math and Other Optimizations
Fixed-Point Math and Other Optimizations Embedded Systems 8-1 Fixed Point Math Why and How Floating point is too slow and integers truncate the data Floating point subroutines: slower than native, overhead
More informationNumber System. Introduction. Decimal Numbers
Number System Introduction Number systems provide the basis for all operations in information processing systems. In a number system the information is divided into a group of symbols; for example, 26
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationCOMP 122/L Lecture 2. Kyle Dewey
COMP 122/L Lecture 2 Kyle Dewey Outline Operations on binary values AND, OR, XOR, NOT Bit shifting (left, two forms of right) Addition Subtraction Twos complement Bitwise Operations Bitwise AND Similar
More informationLLFI: An Intermediate Code-Level Fault Injection Tool for Hardware Faults
LLFI: An Intermediate Code-Level Fault Injection Tool for Hardware Faults Qining Lu, Mostafa Farahani, Jiesheng Wei, Anna Thomas, and Karthik Pattabiraman Department of Electrical and Computer Engineering,
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More informationECE 2020B Fundamentals of Digital Design Spring problems, 6 pages Exam Two 26 February 2014
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationBasic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition
Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.
More informationECE260: Fundamentals of Computer Engineering
MIPS Instruction Set James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy MIPS Registers MIPS
More informationCOMPUTER ORGANIZATION AND ARCHITECTURE
Page 1 1. Which register store the address of next instruction to be executed? A) PC B) AC C) SP D) NONE 2. How many bits are required to address the 128 words of memory? A) 7 B) 8 C) 9 D) NONE 3. is the
More informationCHAPTER 2 Data Representation in Computer Systems
CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 37 2.2 Positional Numbering Systems 38 2.3 Decimal to Binary Conversions 38 2.3.1 Converting Unsigned Whole Numbers 39 2.3.2 Converting
More informationCHAPTER 2 Data Representation in Computer Systems
CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 37 2.2 Positional Numbering Systems 38 2.3 Decimal to Binary Conversions 38 2.3.1 Converting Unsigned Whole Numbers 39 2.3.2 Converting
More informationGO - OPERATORS. This tutorial will explain the arithmetic, relational, logical, bitwise, assignment and other operators one by one.
http://www.tutorialspoint.com/go/go_operators.htm GO - OPERATORS Copyright tutorialspoint.com An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.
More information(+A) + ( B) + (A B) (B A) + (A B) ( A) + (+ B) (A B) + (B A) + (A B) (+ A) (+ B) + (A - B) (B A) + (A B) ( A) ( B) (A B) + (B A) + (A B)
COMPUTER ARITHMETIC 1. Addition and Subtraction of Unsigned Numbers The direct method of subtraction taught in elementary schools uses the borrowconcept. In this method we borrow a 1 from a higher significant
More informationLecture Topics. Announcements. Today: Integer Arithmetic (P&H ) Next: continued. Consulting hours. Introduction to Sim. Milestone #1 (due 1/26)
Lecture Topics Today: Integer Arithmetic (P&H 3.1-3.4) Next: continued 1 Announcements Consulting hours Introduction to Sim Milestone #1 (due 1/26) 2 1 Overview: Integer Operations Internal representation
More informationBits, Words, and Integers
Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are
More informationRecap from Last Time. CSE 2021: Computer Organization. It s All about Numbers! 5/12/2011. Text Pictures Video clips Audio
CSE 2021: Computer Organization Recap from Last Time load from disk High-Level Program Lecture-2(a) Data Translation Binary patterns, signed and unsigned integers Today s topic Data Translation Code Translation
More informationOperations On Data CHAPTER 4. (Solutions to Odd-Numbered Problems) Review Questions
CHAPTER 4 Operations On Data (Solutions to Odd-Numbered Problems) Review Questions 1. Arithmetic operations interpret bit patterns as numbers. Logical operations interpret each bit as a logical values
More informationChapter 3: part 3 Binary Subtraction
Chapter 3: part 3 Binary Subtraction Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead adders Binary subtraction Binary adder-subtractors Signed binary
More informationData Representation. DRAM uses a single capacitor to store and a transistor to select. SRAM typically uses 6 transistors.
Data Representation Data Representation Goal: Store numbers, characters, sets, database records in the computer. What we got: Circuit that stores 2 voltages, one for logic ( volts) and one for logic (3.3
More informationDRAM uses a single capacitor to store and a transistor to select. SRAM typically uses 6 transistors.
Data Representation Data Representation Goal: Store numbers, characters, sets, database records in the computer. What we got: Circuit that stores 2 voltages, one for logic 0 (0 volts) and one for logic
More information2/5/2018. Expressions are Used to Perform Calculations. ECE 220: Computer Systems & Programming. Our Class Focuses on Four Types of Operator in C
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Expressions and Operators in C (Partially a Review) Expressions are Used
More informationRobus tnes s and S ecurity Hardening of COTS S oftware Libraries
Department of Computer Science Institute for System Architecture, Systems-Engineering Group Robus tnes s and S ecurity Hardening of COTS S oftware Libraries Martin Süßkraut, Christof Fetzer martin.suesskraut@tu-dresden.de,
More informationChapter 3: Arithmetic for Computers
Chapter 3: Arithmetic for Computers Objectives Signed and Unsigned Numbers Addition and Subtraction Multiplication and Division Floating Point Computer Architecture CS 35101-002 2 The Binary Numbering
More informationCSC313 High Integrity Systems/CSCM13 Critical Systems. CSC313/CSCM13 Chapter 1 1/ 38
CSC313 High Integrity Systems/CSCM13 Critical Systems CSC313/CSCM13 Chapter 1 1/ 38 CSC313 High Integrity Systems/ CSCM13 Critical Systems Course Notes Chapter 1: Programming Languages for Writing Safety-Critical
More informationLogic, Words, and Integers
Computer Science 52 Logic, Words, and Integers 1 Words and Data The basic unit of information in a computer is the bit; it is simply a quantity that takes one of two values, 0 or 1. A sequence of k bits
More informationSoftware-based Fault Tolerance Mission (Im)possible?
Software-based Fault Tolerance Mission Im)possible? Peter Ulbrich The 29th CREST Open Workshop on Software Redundancy November 18, 2013 System Software Group http://www4.cs.fau.de Embedded Systems Initiative
More informationECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationNumber Systems and Computer Arithmetic
Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text
More informationThe PAW Architecture Reference Manual
The PAW Architecture Reference Manual by Hansen Zhang For COS375/ELE375 Princeton University Last Update: 20 September 2015! 1. Introduction The PAW architecture is a simple architecture designed to be
More informationComputer Organisation CS303
Computer Organisation CS303 Module Period Assignments 1 Day 1 to Day 6 1. Write a program to evaluate the arithmetic statement: X=(A-B + C * (D * E-F))/G + H*K a. Using a general register computer with
More informationRegister Transfer Language and Microoperations (Part 2)
Register Transfer Language and Microoperations (Part 2) Adapted by Dr. Adel Ammar Computer Organization 1 MICROOPERATIONS Computer system microoperations are of four types: Register transfer microoperations
More informationCS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015
CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 3, 2015 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if
More informationArithmetic and Bitwise Operations on Binary Data
Arithmetic and Bitwise Operations on Binary Data CSCI 2400: Computer Architecture ECE 3217: Computer Architecture and Organization Instructor: David Ferry Slides adapted from Bryant & O Hallaron s slides
More informationCS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016
CS 31: Intro to Systems Digital Logic Kevin Webb Swarthmore College February 2, 2016 Reading Quiz Today Hardware basics Machine memory models Digital signals Logic gates Circuits: Borrow some paper if
More informationA flow chart is a graphical or symbolic representation of a process.
Q1. Define Algorithm with example? Answer:- A sequential solution of any program that written in human language, called algorithm. Algorithm is first step of the solution process, after the analysis of
More informationECE Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers
ECE 601 - Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers Fall 2001 Final Version (Important changes from original posted Exercise 1 shown in color) Variables
More informationCPS 104 Computer Organization and Programming
CPS 104 Computer Organization and Programming Lecture 9: Integer Arithmetic. Robert Wagner CPS104 IMD.1 RW Fall 2000 Overview of Today s Lecture: Integer Multiplication and Division. Read Appendix B CPS104
More information[0569] p 0318 garbage
A Pointer is a variable which contains the address of another variable. Declaration syntax: Pointer_type *pointer_name; This declaration will create a pointer of the pointer_name which will point to the
More informationArithmetic for Computers
MIPS Arithmetic Instructions Cptr280 Dr Curtis Nelson Arithmetic for Computers Operations on integers Addition and subtraction; Multiplication and division; Dealing with overflow; Signed vs. unsigned numbers.
More informationCombinational Logic II
Combinational Logic II Ranga Rodrigo July 26, 2009 1 Binary Adder-Subtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic
More informationSemester Transition Point. EE 109 Unit 11 Binary Arithmetic. Binary Arithmetic ARITHMETIC
1 2 Semester Transition Point EE 109 Unit 11 Binary Arithmetic At this point we are going to start to transition in our class to look more at the hardware organization and the low-level software that is
More informationExpressions and Assignment Statements
Expressions and Assignment Statements Introduction Expressions are the fundamental means of specifying computations in a programming language To understand expression evaluation, need to be familiar with
More informationUnit-2 (Operators) ANAND KR.SRIVASTAVA
Unit-2 (Operators) ANAND KR.SRIVASTAVA 1 Operators in C ( use of operators in C ) Operators are the symbol, to perform some operation ( calculation, manipulation). Set of Operations are used in completion
More informationCPE300: Digital System Architecture and Design
CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Arithmetic Unit 10122011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Recap Fixed Point Arithmetic Addition/Subtraction
More informationChapter 4. Operations on Data
Chapter 4 Operations on Data 1 OBJECTIVES After reading this chapter, the reader should be able to: List the three categories of operations performed on data. Perform unary and binary logic operations
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Bits and Bytes and Numbers
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Bits and Bytes and Numbers Number Systems Much of this is review, given the 221 prerequisite Question: how high can
More informationNumber Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:
N Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: a n a a a The value of this number is given by: = a n Ka a a a a a
More informationUNIT - I: COMPUTER ARITHMETIC, REGISTER TRANSFER LANGUAGE & MICROOPERATIONS
UNIT - I: COMPUTER ARITHMETIC, REGISTER TRANSFER LANGUAGE & MICROOPERATIONS (09 periods) Computer Arithmetic: Data Representation, Fixed Point Representation, Floating Point Representation, Addition and
More informationCHW 261: Logic Design
CHW 261: Logic Design Instructors: Prof. Hala Zayed Dr. Ahmed Shalaby http://www.bu.edu.eg/staff/halazayed14 http://bu.edu.eg/staff/ahmedshalaby14# Slide 1 Slide 2 Slide 3 Digital Fundamentals CHAPTER
More informationOPERATING SYSTEM SUPPORT FOR REDUNDANT MULTITHREADING. Björn Döbel (TU Dresden)
OPERATING SYSTEM SUPPORT FOR REDUNDANT MULTITHREADING Björn Döbel (TU Dresden) Brussels, 02.02.2013 Hardware Faults Radiation-induced soft errors Mainly an issue in avionics+space 1 DRAM errors in large
More informationTransient Fault Detection and Reducing Transient Error Rate. Jose Lugo-Martinez CSE 240C: Advanced Microarchitecture Prof.
Transient Fault Detection and Reducing Transient Error Rate Jose Lugo-Martinez CSE 240C: Advanced Microarchitecture Prof. Steven Swanson Outline Motivation What are transient faults? Hardware Fault Detection
More informationCPS 104 Computer Organization and Programming Lecture-2 : Data representations,
CPS 104 Computer Organization and Programming Lecture-2 : Data representations, Sep. 1, 1999 Dietolf Ramm http://www.cs.duke.edu/~dr/cps104.html CPS104 Lec2.1 GK&DR Fall 1999 Data Representation Computers
More informationCS/COE0447: Computer Organization
CS/COE0447: Computer Organization and Assembly Language Chapter 3 Sangyeun Cho Dept. of Computer Science Five classic components I am like a control tower I am like a pack of file folders I am like a conveyor
More informationISA 563 : Fundamentals of Systems Programming
ISA 563 : Fundamentals of Systems Programming Variables, Primitive Types, Operators, and Expressions September 4 th 2008 Outline Define Expressions Discuss how to represent data in a program variable name
More informationLecture 12 Integers. Computer and Network Security 19th of December Computer Science and Engineering Department
Lecture 12 Integers Computer and Network Security 19th of December 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 12, Integers 1/40 Outline Data Types Representation Conversions
More informationCS/COE0447: Computer Organization
Five classic components CS/COE0447: Computer Organization and Assembly Language I am like a control tower I am like a pack of file folders Chapter 3 I am like a conveyor belt + service stations I exchange
More informationSIGNED AND UNSIGNED SYSTEMS
EE 357 Unit 1 Fixed Point Systems and Arithmetic Learning Objectives Understand the size and systems used by the underlying HW when a variable is declared in a SW program Understand and be able to find
More informationDecision Procedures. An Algorithmic Point of View. Bit-Vectors. D. Kroening O. Strichman. Version 1.0, ETH/Technion
Decision Procedures An Algorithmic Point of View Bit-Vectors D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part VI Bit-Vectors Outline 1 Introduction to Bit-Vector Logic 2 Syntax 3 Semantics
More informationRun time environment of a MIPS program
Run time environment of a MIPS program Stack pointer Frame pointer Temporary local variables Return address Saved argument registers beyond a0-a3 Low address Growth of stack High address A translation
More informationIntegers. N = sum (b i * 2 i ) where b i = 0 or 1. This is called unsigned binary representation. i = 31. i = 0
Integers So far, we've seen how to convert numbers between bases. How do we represent particular kinds of data in a certain (32-bit) architecture? We will consider integers floating point characters What
More information4. Number Representations
Educational Objectives You have a good understanding how a computer represents numbers. You can transform integers in binary representation and perform computations. You understand how the value range
More informationChapter 2 Data Representations
Computer Engineering Chapter 2 Data Representations Hiroaki Kobayashi 4/21/2008 4/21/2008 1 Agenda in Chapter 2 Translation between binary numbers and decimal numbers Data Representations for Integers
More informationChapter 03: Computer Arithmetic. Lesson 09: Arithmetic using floating point numbers
Chapter 03: Computer Arithmetic Lesson 09: Arithmetic using floating point numbers Objective To understand arithmetic operations in case of floating point numbers 2 Multiplication of Floating Point Numbers
More informationCS 64 Week 1 Lecture 1. Kyle Dewey
CS 64 Week 1 Lecture 1 Kyle Dewey Overview Bitwise operation wrap-up Two s complement Addition Subtraction Multiplication (if time) Bitwise Operation Wrap-up Shift Left Move all the bits N positions to
More informationCS 31: Introduction to Computer Systems. 03: Binary Arithmetic January 29
CS 31: Introduction to Computer Systems 03: Binary Arithmetic January 29 WiCS! Swarthmore Women in Computer Science Slide 2 Today Binary Arithmetic Unsigned addition Subtraction Representation Signed magnitude
More informationLab 5: Arithmetic Logic Unit (ALU)
Lab 5: Arithmetic Logic Unit (ALU) September 29, 2009 Contents 1 Prelab 4 2 Lab 4 3 Supplementary Material 6 3.1 Verilog................................................. 6 3.1.1 Parameters..........................................
More informationComputer Systems A Programmer s Perspective 1 (Beta Draft)
Computer Systems A Programmer s Perspective 1 (Beta Draft) Randal E. Bryant David R. O Hallaron August 1, 2001 1 Copyright c 2001, R. E. Bryant, D. R. O Hallaron. All rights reserved. 2 Contents Preface
More informationCS101 Lecture 04: Binary Arithmetic
CS101 Lecture 04: Binary Arithmetic Binary Number Addition Two s complement encoding Briefly: real number representation Aaron Stevens (azs@bu.edu) 25 January 2013 What You ll Learn Today Counting in binary
More informationReliable Architectures
6.823, L24-1 Reliable Architectures Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology 6.823, L24-2 Strike Changes State of a Single Bit 10 6.823, L24-3 Impact
More informationECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationECE260: Fundamentals of Computer Engineering
Arithmetic for Computers James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Arithmetic for
More informationArithmetic Logic Unit
Arithmetic Logic Unit A.R. Hurson Department of Computer Science Missouri University of Science & Technology A.R. Hurson 1 Arithmetic Logic Unit It is a functional bo designed to perform "basic" arithmetic,
More informationComputer Architecture Set Four. Arithmetic
Computer Architecture Set Four Arithmetic Arithmetic Where we ve been: Performance (seconds, cycles, instructions) Abstractions: Instruction Set Architecture Assembly Language and Machine Language What
More informationData Representations & Arithmetic Operations
Data Representations & Arithmetic Operations Hiroaki Kobayashi 7/13/2011 7/13/2011 Computer Science 1 Agenda Translation between binary numbers and decimal numbers Data Representations for Integers Negative
More informationEECE.2160: ECE Application Programming
Spring 2018 Programming Assignment #10: Instruction Decoding and File I/O Due Wednesday, 5/9/18, 11:59:59 PM (Extra credit ( 4 pts on final average), no late submissions or resubmissions) 1. Introduction
More informationECE 30 Introduction to Computer Engineering
ECE 30 Introduction to Computer Engineering Study Problems, Set #6 Spring 2015 1. With x = 1111 1111 1111 1111 1011 0011 0101 0011 2 and y = 0000 0000 0000 0000 0000 0010 1101 0111 2 representing two s
More informationDHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY. Department of Computer science and engineering
DHANALAKSHMI SRINIVASAN INSTITUTE OF RESEARCH AND TECHNOLOGY Department of Computer science and engineering Year :II year CS6303 COMPUTER ARCHITECTURE Question Bank UNIT-1OVERVIEW AND INSTRUCTIONS PART-B
More informationComputer Architecture. Fall Dongkun Shin, SKKU
Computer Architecture Fall 2018 1 Syllabus Instructors: Dongkun Shin Office : Room 85470 E-mail : dongkun@skku.edu Office Hours: Wed. 15:00-17:30 or by appointment Lecture notes nyx.skku.ac.kr Courses
More informationChapter 7. Expressions and Assignment Statements
Chapter 7 Expressions and Assignment Statements Chapter 7 Topics Introduction Arithmetic Expressions Overloaded Operators Type Conversions Relational and Boolean Expressions Short-Circuit Evaluation Assignment
More informationFinding Resilience-Friendly Compiler Optimizations using Meta-Heuristic Search
Finding Resilience-Friendly Compiler Optimizations using Meta-Heuristic Search Techniques Nithya Narayanamurthy Karthik Pattabiraman Matei Ripeanu University of British Columbia (UBC) 1 Motivation: Hardware
More informationCS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS
CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS UNIT-I OVERVIEW & INSTRUCTIONS 1. What are the eight great ideas in computer architecture? The eight
More informationChapter 13. The ISA of a simplified DLX Why use abstractions?
Chapter 13 The ISA of a simplified DLX In this chapter we describe a specification of a simple microprocessor called the simplified DLX. The specification is called an instruction set architecture (ISA).
More informationElzar Triple Modular Redundancy using Intel AVX
Elzar Triple Modular Redundancy using Intel AVX Dmitrii Kuvaiskii Oleksii Oleksenko Pramod Bhatotia Christof Fetzer Pascal Felber Hardware Errors in the Wild Online services run in huge data centers 1
More information