MIPS R-Format Instructions

Total Page:16

File Type:pdf, Size:1020Kb

MIPS R-Format Instructions MIPS R-format Instructions op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits n Instruction fields n op: operation code (opcode) n rs: first source register number n rt: second source register number n rd: destination register number n shamt: shift amount (00000 for now) n funct: function code (extends opcode) Chapter 2 — Instructions: Language of the Computer — 1 R-format Example op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits add $t0, $s1, $s2 special $s1 $s2 $t0 0 add 0 17 18 8 0 32 000000 10001 10010 01000 00000 100000 000000100011001001000000001000002 = 0232402016 Chapter 2 — Instructions: Language of the Computer — 2 MIPS I-format Instructions op rs rt constant or address 6 bits 5 bits 5 bits 16 bits n Immediate arithmetic and load/store instructions n rt: destination or source register number 15 15 n Constant: –2 to +2 – 1 n Address: offset added to base address in rs n Design Principle 4: Good design demands good compromises n Different formats complicate decoding, but allow 32-bit instructions uniformly n Keep formats as similar as possible Chapter 2 — Instructions: Language of the Computer — 3 Branch Addressing n Branch instructions specify n Opcode, two registers, target address n Most branch targets are near branch n Forward or backward op rs rt constant or address 6 bits 5 bits 5 bits 16 bits n PC-relative addressing n Target address = PC + offset × 4 n PC already incremented by 4 by this time Chapter 2 — Instructions: Language of the Computer — 4 Jump Addressing n Jump (j and jal) targets could be anywhere in text segment n Encode full address in instruction op address 6 bits 26 bits n (Pseudo)Direct jump addressing n Target address = PC31…28 : (address × 4) Chapter 2 — Instructions: Language of the Computer — 5 Addressing Mode Summary Chapter 2 — Instructions: Language of the Computer — 6 §2.11 Parallelism and Instructions:Synchronization §2.11 Synchronization n Two processors sharing an area of memory n P1 writes, then P2 reads n Data race if P1 and P2 don’t synchronize n Result depends of order of accesses n Hardware support required n Atomic read/write memory operation n No other access to the location allowed between the read and write n Could be a single instruction n E.g., atomic swap of register ↔ memory n Or an atomic pair of instructions Chapter 2 — Instructions: Language of the Computer — 7 Synchronization in MIPS n Load linked: ll rt, offset(rs) n Store conditional: sc rt, offset(rs) n Succeeds if location not changed since the ll n Returns 1 in rt n Fails if location is changed n Returns 0 in rt n Example: atomic swap (to test/set lock variable) try: add $t0,$zero,$s4 ;copy exchange value ll $t1,0($s1) ;load linked sc $t0,0($s1) ;store conditional beq $t0,$zero,try ;branch store fails add $s4,$zero,$t1 ;put load value in $s4 Chapter 2 — Instructions: Language of the Computer — 8 §2.16 Real Stuff: ARM Instructions §2.16 Real Stuff: ARM & MIPS Similarities n ARM: the most popular embedded core n Similar basic set of instructions to MIPS ARM MIPS Date announced 1985 1985 Instruction size 32 bits 32 bits Address space 32-bit flat 32-bit flat Data alignment Aligned Aligned Data addressing modes 9 3 Registers 15 × 32-bit 31 × 32-bit Input/output Memory Memory mapped mapped Chapter 2 — Instructions: Language of the Computer — 9 Compare and Branch in ARM n Uses condition codes for result of an arithmetic/logical instruction n Negative, zero, carry, overflow n Compare instructions to set condition codes without keeping the result n Each instruction can be conditional n Top 4 bits of instruction word: condition value n Can avoid branches over single instructions Chapter 2 — Instructions: Language of the Computer — 10 Instruction Encoding Chapter 2 — Instructions: Language of the Computer — 11 §2.17 Real Stuff: x86Instructions §2.17 Real Stuff: The Intel x86 ISA n Evolution with backward compatibility n 8080 (1974): 8-bit microprocessor n Accumulator, plus 3 index-register pairs n 8086 (1978): 16-bit extension to 8080 n Complex instruction set (CISC) n 8087 (1980): floating-point coprocessor n Adds FP instructions and register stack n 80286 (1982): 24-bit addresses, MMU n Segmented memory mapping and protection n 80386 (1985): 32-bit extension (now IA-32) n Additional addressing modes and operations n Paged memory mapping as well as segments Chapter 2 — Instructions: Language of the Computer — 12 The Intel x86 ISA n Further evolution… n i486 (1989): pipelined, on-chip caches and FPU n Compatible competitors: AMD, Cyrix, … n Pentium (1993): superscalar, 64-bit datapath n Later versions added MMX (Multi-Media eXtension) instructions n The infamous FDIV bug n Pentium Pro (1995), Pentium II (1997) n New microarchitecture (see Colwell, The Pentium Chronicles) n Pentium III (1999) n Added SSE (Streaming SIMD Extensions) and associated registers n Pentium 4 (2001) n New microarchitecture n Added SSE2 instructions Chapter 2 — Instructions: Language of the Computer — 13 The Intel x86 ISA n And further… n AMD64 (2003): extended architecture to 64 bits n EM64T – Extended Memory 64 Technology (2004) n AMD64 adopted by Intel (with refinements) n Added SSE3 instructions n Intel Core (2006) n Added SSE4 instructions, virtual machine support n AMD64 (announced 2007): SSE5 instructions n Intel declined to follow, instead… n Advanced Vector Extension (announced 2008) n Longer SSE registers, more instructions n If Intel didn’t extend with compatibility, its competitors would! n Technical elegance ≠ market success Chapter 2 — Instructions: Language of the Computer — 14 x86 Instruction Encoding n Variable length encoding n Postfix bytes specify addressing mode n Prefix bytes modify operation n Operand length, repetition, locking, … Chapter 2 — Instructions: Language of the Computer — 15 §2.18 Fallaciesand Pitfalls Fallacies n Powerful instruction ⇒ higher performance n Fewer instructions required n But complex instructions are hard to implement n May slow down all instructions, including simple ones n Compilers are good at making fast code from simple instructions n Use assembly code for high performance n But modern compilers are better at dealing with modern processors n More lines of code ⇒ more errors and less productivity Chapter 2 — Instructions: Language of the Computer — 16 Fallacies n Backward compatibility ⇒ instruction set doesn’t change n But they do accrete more instructions x86 instruction set Chapter 2 — Instructions: Language of the Computer — 17 Concluding Remarks n Measure MIPS instruction executions in benchmark programs n Consider making the common case fast n Consider compromises Instruction class MIPS examples SPEC2006 Int SPEC2006 FP Arithmetic add, sub, addi 16% 48% Data transfer lw, sw, lb, lbu, 35% 36% lh, lhu, sb, lui Logical and, or, nor, andi, 12% 4% ori, sll, srl Cond. Branch beq, bne, slt, 34% 8% slti, sltiu Jump j, jr, jal 2% 0% Chapter 2 — Instructions: Language of the Computer — 18 Chapter 3 Arithmetic for Computers §3.1Introduction Arithmetic for Computers n Operations on integers n Addition and subtraction n Multiplication and division n Dealing with overflow n Floating-point real numbers n Representation and operations Chapter 3 — Arithmetic for Computers — 20 §3.2 Addition andSubtraction §3.2 Integer Addition n Example: 7 + 6 n Overflow if result out of range n Adding +ve and –ve operands, no overflow n Adding two +ve operands n Overflow if result sign is 1 n Adding two –ve operands n Overflow if result sign is 0 Chapter 3 — Arithmetic for Computers — 21 Integer Subtraction n Add negation of second operand n Example: 7 – 6 = 7 + (–6) +7: 0000 0000 … 0000 0111 –6: 1111 1111 … 1111 1010 +1: 0000 0000 … 0000 0001 n Overflow if result out of range n Subtracting two +ve or two –ve operands, no overflow n Subtracting +ve from –ve operand n Overflow if result sign is 0 n Subtracting –ve from +ve operand n Overflow if result sign is 1 Chapter 3 — Arithmetic for Computers — 22 Dealing with Overflow n Some languages (e.g., C) ignore overflow n Use MIPS addu, addui, subu instructions n Other languages (e.g., Ada, Fortran) require raising an exception n Use MIPS add, addi, sub instructions n On overflow, invoke exception handler n Save PC in exception program counter (EPC) register n Jump to predefined handler address n mfc0 (move from coprocessor reg) instruction can retrieve EPC value, to return after corrective action Chapter 3 — Arithmetic for Computers — 23 Other Adders n BASICS of ADDING LOGIC n Carry-out n Sum Generation n Ripple Add n Carry Bypass n Carry Select n Carry Lookahead Chapter 3 — Arithmetic for Computers — 24 The Ripple-Carry Adder A0 B0 A1 B1 A2 B2 A3 B3 Ci,0 Co,0 Co,1 Co,2 Co,3 FA FA FA FA (= Ci,1) S0 S1 S2 S3 Worst case delay linear with the number of bits td = O(N) tadder = (N-1)tcarry + tsum Goal: Make the fastest possible carry path circuit 25 Carry-Bypass Adder P0 G1 P0 G1 P2 G2 P3 G3 Also called Carry-Skip Ci,0 Co,0 Co,1 Co,2 Co,3 FA FA FA FA P0 G1 P0 G1 P2 G2 P3 G3 BP=PoP1P2P3 Ci,0 Co,0 Co,1 Co,2 r FA FA FA FA e x e l Co,3 p i t l u M Idea: If (P0 and P1 and P2 and P3 = 1) then Co3 = C0, else “kill” or “generate”. 26 Linear Carry Select Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15 Setup Setup Setup Setup (1) "0" Carry "0" Carry "0" Carry "0" Carry "0" "0" "0" "0" (1) "1" Carry "1" Carry "1" Carry "1" Carry "1" "1" "1" "1" (5) (5) (5) (5) (5) (6) (7) (8) Multiplexer Multiplexer Multiplexer Multiplexer Ci,0 (9) Sum Generation Sum Generation Sum Generation Sum Generation S0-3 S4-7 S8-11 S12-15 (10) 27 LookAhead - Basic Idea A0, B0 A1, B1 • • • AN-1, BN-1 Ci,0 P Ci,1 P 0 1 C i, N-1 PN-1 S0 S1 • • • SN-1 Cok, ==fA()k,,Bk Cok, – 1 Gk + PkCok, – 1 28 Look-Ahead: Topology Expanding Lookahead equations: VDD Cok, = Gk + Pk ()Gk1– + Pk1– Cok, – 2 G3 G2 All the way: G1 C = G + P ()G + P ()… + P ()G + P C ok, k k k1– k1– 1 0 0 i0, G0 Ci,0 Co,3 P0 P1 P2 P3 29 Carry Lookahead Trees Co0, = G0 + P0Ci0, Co1, = G1 ++P1 G0 P1P0 Ci0, Co2, = G2 ++P2G1 P2 P1G0 + P2 P1P0Ci0, = ()G2 + P2G1 + ()P2P1 ()G0 + P0Ci0, = G 2:1 + P2:1Co0, Can continue building the tree hierarchically.
Recommended publications
  • Wdv-Notes Stand: 29.DEZ.1994 (2.) 329 Intel Pentium – Business Must Learn from the Debacle
    wdv-notes Stand: 29.DEZ.1994 (2.) 329 Intel Pentium – Business Must Learn from the Debacle. Wiss.Datenverarbeitung © 1994–1995 Edited by Karl-Heinz Dittberner FREIE UNIVERSITÄT BERLIN Theo Die kanadische Monatszeitschrift The Im folgenden sowie in den wdv-notes verbreitet werden, wenn dabei die folgen- Computer Post, Winnipeg veröffentlicht Nr. 330 werden diese Artikel im Original den Spielregeln beachtet werden. in mehreren Artikeln in ihrer Januar-Aus- nachgedruckt. Der Dank dafür geht an Permission is hereby granted to copy gabe 1995 eine exzellente erste Zusam- Sylvia Douglas von The Computer Post, this article electronically or in any other menfassung des Debakels um den Defekt 301 – 68 Higgins Avenue, Winnipeg, Ma- form, provided it is reproduced without des Pentium-Mikroprozessors [1–2] des nitoba, Canada, Email: SDouglas@post. alteration, and you credit it to The Compu- Computergiganten Intel. mb.ca. Diese Artikel dürfen auch weiter- ter Post. Intel’s top of the line Pentium™ microproc- This particular error in the Pentium was in essor chip has turned out to have a slight flaw the floating-point divide unit. Intel manage- Editorial: The Computer Post – Jan.95 in its character: when dividing certain rare ment was concerned enough about it that pairs of floating point numbers, it gives the they pulled together a special team to assess The Way it Will Be wrong answer. For anyone who owns a Pen- the implications. tium-based computer, or was thinking about This month you’ll find we’re reporting a In the words of Andrew Grove, Intel’s CEO, buying one, or is just feeling curious, here lot of background information on Intel’s posting later to the Internet [3], “We were are..
    [Show full text]
  • Detecting and Removing Malicious Hardware Automatically
    Appears in Proceedings of the 31st IEEE Symposium on Security & Privacy (Oakland), May 2010 Overcoming an Untrusted Computing Base: Detecting and Removing Malicious Hardware Automatically Matthew Hicks, Murph Finnicum, Samuel T. King Milo M. K. Martin, Jonathan M. Smith University of Illinois at Urbana-Champaign University of Pennsylvania Abstract hardware-level vulnerabilities would likely require phys- ically replacing the compromised hardware components. The computer systems security arms race between at- A hardware recall similar to Intel’s Pentium FDIV bug tackers and defenders has largely taken place in the do- (which cost 500 million dollars to recall five million main of software systems, but as hardware complexity chips) has been estimated to cost many billions of dollars and design processes have evolved, novel and potent today [7]. Furthermore, the skill required to replace hard- hardware-based security threats are now possible. This ware and the rise of deeply embedded systems ensure paper presents a hybrid hardware/software approach to that vulnerable systems will remain in active use after the defending against malicious hardware. discovery of the vulnerability. Second, hardware is the We propose BlueChip, a defensive strategy that has lowest layer in the computer system, providing malicious both a design-time component and a runtime component. hardware with control over the software running above. During the design verification phase, BlueChip invokes This low-level control enables sophisticated and stealthy a new technique, unused circuit identification (UCI), attacks aimed at evading software-based defenses. to identify suspicious circuitry—those circuits not used Such an attack might use a special, or unlikely, event to or otherwise activated by any of the design verification trigger deeply buried malicious logic which was inserted tests.
    [Show full text]
  • Can the Computer Be Wrong?
    Can the computer be wrong? Wojciech Myszka Department of Mechanics, Materials and Biomedical Engineering January 2021 1 Data 2 Human (operator) 3 Hardware (inevitable) 4 Hardware 5 Manufacturer fault 6 Software 7 Bug free software 8 List of software bugs Data Absolute error I I was talking about this in one of the previous lectures. I One of the main sources of errors are data. I Knowing the range of each value allows us to predict values of the result. I This can be difficult and tricky. I However, in most cases we assume that the data values are correct and believe in computer calculations. Human (operator) Operator I In general, it is difficult to take into account human errors. I These include: I not understanding the problem solved by the program, I errors in preparing input data, I wrong answer to the computer prompt, I ... Hardware (inevitable) Number of bits This is a quite different source of error. 1. Most of todays computers have I 32 or 64 bits processors 2. What does this mean? Number of bits — rangeI 1. The biggest integer value I 32 bits: from −231 to 231 − 1 (−2; 147; 483; 648 to 2; 147; 483; 647) or two billion, one hundred forty-seven million, four hundred eighty-three thousand, six hundred forty-seven I 64 bits: from −263 to 263 − 1 (−9; 223; 372; 036; 854; 775; 808 to 9; 223; 372; 036; 854; 775; 807) nine quintillion two hundred twenty three quadrillion three hundred seventy two trillion thirty six billion eight hundred fifty four million seven hundred seventy five thousand eight hundred and seven 2.
    [Show full text]
  • A Hybrid-Parallel Architecture for Applications in Bioinformatics
    A Hybrid-parallel Architecture for Applications in Bioinformatics M.Sc. Jan Christian Kässens Dissertation zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel eingereicht im Jahr 2017 Kiel Computer Science Series (KCSS) 2017/4 dated 2017-11-08 URN:NBN urn:nbn:de:gbv:8:1-zs-00000335-a3 ISSN 2193-6781 (print version) ISSN 2194-6639 (electronic version) Electronic version, updates, errata available via https://www.informatik.uni-kiel.de/kcss The author can be contacted via [email protected] Published by the Department of Computer Science, Kiel University Computer Engineering Group Please cite as: Ź Jan Christian Kässens. A Hybrid-parallel Architecture for Applications in Bioinformatics Num- ber 2017/4 in Kiel Computer Science Series. Department of Computer Science, 2017. Dissertation, Faculty of Engineering, Kiel University. @book{Kaessens17, author = {Jan Christian K\"assens}, title = {A Hybrid-parallel Architecture for Applications in Bioinformatics}, publisher = {Department of Computer Science, CAU Kiel}, year = {2017}, number = {2017/4}, doi = {10.21941/kcss/2017/4}, series = {Kiel Computer Science Series}, note = {Dissertation, Faculty of Engineering, Kiel University.} } © 2017 by Jan Christian Kässens ii About this Series The Kiel Computer Science Series (KCSS) covers dissertations, habilitation theses, lecture notes, textbooks, surveys, collections, handbooks, etc. written at the Department of Computer Science at Kiel University. It was initiated in 2011 to support authors in the dissemination of their work in electronic and printed form, without restricting their rights to their work. The series provides a unified appearance and aims at high-quality typography. The KCSS is an open access series; all series titles are electronically available free of charge at the department’s website.
    [Show full text]
  • P5 (Microarchitecture)
    P5 (microarchitecture) The Intel P5 Pentium family Produced From 1993 to 1999 Common manufacturer(s) • Intel Max. CPU clock rate 60 MHz to 300 MHz FSB speeds 50 MHz to 66 MHz Min. feature size 0.8pm to 0.25pm Instruction set x86 Socket(s) • Socket 4, Socket 5, Socket 7 Core name(s) P5. P54C, P54CS, P55C, Tillamook The original Pentium microprocessor was introduced on March 22, 1993.^^ Its microarchitecture, deemed P5, was Intel's fifth-generation and first superscalar x86 microarchitecture. As a direct extension of the 80486 architecture, it included dual integer pipelines, a faster FPU, wider data bus, separate code and data caches and features for further reduced address calculation latency. In 1996, the Pentium with MMX Technology (often simply referred to as Pentium MMX) was introduced with the same basic microarchitecture complemented with an MMX instruction set, larger caches, and some other enhancements. The P5 Pentium competitors included the Motorola 68060 and the PowerPC 601 as well as the SPARC, MIPS, and Alpha microprocessor families, most of which also used a superscalar in-order dual instruction pipeline configuration at some time. Intel's Larrabee multicore architecture project uses a processor core derived from a P5 core (P54C), augmented by multithreading, 64-bit instructions, and a 16-wide vector processing unit. T31 Intel's low-powered Bonnell [4i microarchitecture employed in Atom processor cores also uses an in-order dual pipeline similar to P5. Development The P5 microarchitecture was designed by the same Santa Clara team which designed the 386 and 486.^ Design work started in 1989;^ the team decided to use a superscalar architecture, with on-chip cache, floating-point, and branch prediction.
    [Show full text]
  • APA Newsletters NEWSLETTER on PHILOSOPHY and COMPUTERS
    APA Newsletters NEWSLETTER ON PHILOSOPHY AND COMPUTERS Volume 11, Number 1 Fall 2011 FROM THE EDITOR, PETER BOLTUC FROM THE CHAIR, DAN KOLAK SPECIAL SESSION DAVID L. ANDERSON “Special Session on ‘Machine Consciousness’” FEATURED ARTICLE JAAKKO HINTIKKA “Logic as a Theory of Computability” ARTICLES DARREN ABRAMSON AND LEE PIKE “When Formal Systems Kill: Computer Ethics and Formal Methods” HECTOR ZENIL “An Algorithmic Approach to Information and Meaning: A Formal Framework for a Philosophical Discussion” PENTTI O A HAIKONEN “Too Much Unity: A Reply to Shanahan” PHILOSOPHY AND ONLINE EDUCATION RON BARNETTE “Reflecting Back Twenty Years” © 2011 by The American Philosophical Association ISSN 2155-9708 FRANK MCCLUSKEY “Reflections from Teaching Philosophy Online” TERRY WELDIN-FRISCH “A Comparison of Four Distance Education Models” KRISTEN ZBIKOWSKI “An Invitation for Reflection: Teaching Philosophy Online” THOMAS URBAN “Distance Learning and Philosophy: The Term-Length Challenge” FEDERICO GOBBO “The Heritage of Gaetano Aurelio Lanzarone” APA NEWSLETTER ON Philosophy and Computers Piotr Bołtuć, Editor Fall 2011 Volume 11, Number 1 Terry Weldin-Frish, in his informative paper, compares the ROM THE DITOR experiences he had with online learning in philosophy first as a F E graduate student, reaching a Ph.D. entirely online, and later as a faculty member, at four different educational institutons in the UK and the US. Kristen Zbikowski presents a spirited defense Peter Boltuc of teaching philosophy online based on her experiences as an University of Illinois at Springfield online student and then a faculty member also teaching online courses. Thomas Urban raises a specific problem of the length I used to share the general enthusiasm about web-only of viable online philosophy courses.
    [Show full text]
  • On Improving Cybersecurity Through Memory Isolation Using Systems Management Mode
    On Improving Cybersecurity Through Memory Isolation Using Systems Management Mode A thesis submitted for the degree of Doctor of Philosophy James Andrew Sutherland School of Design and Informatics University of Abertay Dundee August 2018 i Abstract This thesis describes research into security mechanisms for protecting sensitive areas of memory from tampering or intrusion using the facilities of Systems Man- agement Mode. The essence and challenge of modern computer security is to isolate or contain data and applications in a variety of ways, while still allowing sharing where desir- able. If Alice and Bob share a computer, Alice should not be able to access Bob’s passwords or other data; Alice’s web browser should not be able to be tricked into sending email, and viewing a social networking web page in that browser should not allow that page to interact with her online banking service. The aim of this work is to explore techniques for such isolation and how they can be used usefully on standard PCs. This work focuses on the creation of a small dedicated area to perform cryp- tographic operations, isolated from the rest of the system. This is a sufficiently useful facility that many modern devices such as smartphones incorporate dedic- ated hardware for this purpose, but other approaches have advantages which are discussed. As a case study, this research included the creation of a secure web server whose encryption key is protected using this approach such that even an intruder with full Administrator level access cannot extract the key. A proof of concept backdoor which captures and exfiltrates encryption keys using a modified processor wasalso demonstrated.
    [Show full text]
  • Harnessing Simulation Acceleration to Solve the Digital Design Verification Challenge
    Harnessing Simulation Acceleration to Solve the Digital Design Verification Challenge by Debapriya Chatterjee A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Science and Engineering) in The University of Michigan 2013 Doctoral Committee: Associate Professor Valeria M. Bertacco, Chair Professor Todd M. Austin Professor Igor L. Markov Assistant Professor Zhengya Zhang c Debapriya Chatterjee All Rights Reserved 2013 To my parents ii Acknowledgments I would like to thank my advisor Professor Valeria Bertacco, who introduced me to re- search. Her willingness to let me explore new ideas has been a cherished freedom, while our discussions on research directions have enabled me to pursue a fixed direction in an interesting and uncharted research territory. Moreover, my writing and presentation skills have grown significantly as a result of her mentoring and her careful attention. I am also grateful for my committee members. I am appreciative of Professor Igor Markov’s contributions: often pointing me to relevant research articles as well as our friendly interactions in the department and various conferences. Professor Todd Austin has been a consistent source of extremely valuable feedback on various matters throughout my studies. I am grateful to Professor Zhengya Zhang for his kind feedback. Early in my graduate school career, I was very fortunate to work with Ilya Wagner and Andrew DeOrio – they instilled the fundamentals of the role of a graduate student into me. I am especially grateful to Joseph Greathouse, Andrea Pellegrini and Biruk Mammo for the innumerable illuminating discussions we have had in the office, often extending into late hours.
    [Show full text]
  • Information Assurance MELANI
    Federal IT Steering Unit FITSU Federal Intelligence Service FIS Reporting and Analysis Centre for Information Assurance MELANI https://www.melani.admin.ch/ INFORMATION ASSURANCE SITUATION IN SWITZERLAND AND INTERNATIONALLY Semi-annual report 2018/I (January – June) 8 NOVEMBER 2018 REPORTING AND ANALYSIS CENTRE FOR INFORMATION ASSURANCE MELANI https://www.melani.admin.ch/ 1 Overview / Content 1 Overview / Content .............................................................................................. 2 2 Editorial................................................................................................................. 5 3 Key topic: vulnerabilities in the hardware ....................................................... 6 3.1 Spectre and Meltdown ..................................................................................... 6 3.2 Why this design error? .................................................................................... 6 3.3 Possible solutions ........................................................................................... 7 3.4 Possible developments.................................................................................... 8 4 Situation in Switzerland...................................................................................... 9 4.1 Espionage ........................................................................................................ 9 Spiez Laboratory name misused as sender of "Olympic Destroyer" ........................... 9 4.2 Industrial control systems ............................................................................
    [Show full text]
  • A Fault Tolerant Approach to Microprocessor Design
    Appears in Dependable Systems and Networks (DSN), July 2001 A Fault Tolerant Approach to Microprocessor Design Chris Weaver Todd Austin Advanced Computer Architecture Laboratory University of Michigan {chriswea, taustin}@eecs.umich.edu Abstract 1.1.1 Design faults Design faults are the result of human error, either in the We propose a fault-tolerant approach to reliable micropro- design or specification of a system component, that renders the cessor design. Our approach, based on the use of an on-line part unable to correctly respond to certain inputs. The typical checker component in the processor pipeline, provides signifi- approach used to detect these bugs is simulation-based verifi- cant resistance to core processor design errors and opera- cation. A model of the processor being designed executes a tional faults such as supply voltage noise and energetic series of tests and compares the model’s results to expected particle strikes. We show through cycle-accurate simulation results. Unfortunately, design errors sometimes slip through and timing analysis of a physical checker design that our this testing process due to the immense size of the test space. approach preserves system performance while keeping area To minimize the probability of undetected errors, designers overheads and power demands low. Furthermore, analyses employ various techniques to improve the quality of verifica- suggest that the checker is a fairly simple state machine that tion including co-simulation [4], coverage analysis, random can be formally verified, scaled in performance, and reused. test generation [5], and model-driven test generation [6]. Further simulation analyses show virtually no performance Another popular technique, formal verification, uses equal- impacts when our simple checker design is coupled with a ity checking to compare a design under test with the specifica- high-performance microprocessor model.
    [Show full text]
  • Historia Procesorów Firmy Intel. Modele Pentium P5 I Pentium
    Historia procesorów firmy Intel Pentium P5 ₥@ʁ€₭ ‽ud3£k0 Urządzenia Techniki Komputerowej Spis treści • Nazwa Pentium • Pentium MMX • Marketing Intela • Charakterystyka Intel • Pentium P5 Pentium MMX • Charakterystyka Intel • Architektura Intel Pentium Pentium MMX • Architektura Intel Pentium • Rozwiązania zastosowane w • Wnętrze Intel Pentium Pentium MMX A80501 66 SX950 • Wnętrze Intel Pentium MMX • Rozwiązania zastosowane • Modele Pentium MMX w Pentium • Tillamook • Modele Pentium • Instrukcje MMX • Pentium FDIV bug • It's All About the Pentiums • Narzędzie pentNT 2 Nazwa Pentium • Procesor Pentium miał się początkowo nazywać 80586 lub i586. Jednak Intel nie mógł zarejestrować samych cyfr jako znaku towarowego. Wybrał więc nazwę „Pentium”. • Nazwa wzięła się z greckiej cyfry „pięć” (πέντε 'pente') - oznacza piątą generację procesorów - i końcówki łacińskiej -ium. – W pierwszych programach powstałych w tym czasie i w ich dokumentacji używano jednak terminu „i586”. • Nazwa Pentium była zabiegiem marketingowym symbolizującym nową jakość. Stworzyła wyraźną i rozpoznawalną markę komputerową. – Wynajęto firmę marketingową Lexington Branding w celu rozpropagowania nowej nazwy procesora. • Było to coś odmiennego od nazywania komputera samą liczbą. • David Placek z Lexington Branding wyjaśnia dlaczego konieczna była zmiana. – Sprzedawca mówi tobie, że ten komputer ma procesor 286, a ten ma 386. Ty pytasz „A co to znaczy?”. A on odpowiada: „Jest szybszy”. Ale poza tym nie niesie to żadnej innej informacji. Procesor Intela potrafił przetwarzać grafikę i wideo tak, że stał się podstawą komputerów domowych. • Był nowa jakością. Konieczna była wyraźna i dobrze brzmiąca nazwa. 3 Marketing Intela • Pragnieniem firmy była chęć wyróżnienia się na rynku wśród grupy producentów tańszych odpowiedników. • Celem Intela było zwiększenie świadomości marki wśród klientów i dystrybutorów sprzętu komputerowego.
    [Show full text]
  • On Hardware and Hardware Models for Embedded Real-Time Systems
    On Hardware and Hardware Models for Embedded Real-Time Systems Jakob Engblom∗ Dept. of Information Technology, Uppsala University P.O. Box 325, SE-751 05 Uppsala, Sweden [email protected] / http://www.docs.uu.se/~jakob effects if deadlines are missed or some other timing- Abstract related bugs manifest themselves. When developing embedded real-time systems, de- When building an embedded real-time systems, the signers and programmers rely on various forms of choice of hardware platform is very important to create scheduling and timing analysis. At some point, all an analyzable and predictable system. Also, the quality such analyses must account for the hardware used to of the models of the hardware used in software tools obtain execution time information, and if the analysis is very important to the correctness of timing analysis method does not accurately reflect the hardware char- and the integrity of the system. acteristics, the result is likely to be a bad analysis and In this paper, we discuss some of the aspects of how potentially a bad system. to build hardware models that are correct visavi the The choice of hardware, specifically the microproces- hardware, and how to select hardware that allows real- sor or microcontroller to use, has a profound influence time systems to be constructed in a reliable fashion. on the analyzability of a system. The timing behav- The purpose of this paper is to inspire some discus- ior of a complex CPU core is very hard to understand sion regarding how real-time systems are designed and (even without a cached memory system).
    [Show full text]