000 | 08114nam a22006495i 4500 | ||
---|---|---|---|
001 | 978-3-319-13906-7 | ||
003 | DE-He213 | ||
005 | 20240730202753.0 | ||
007 | cr nn 008mamaa | ||
008 | 141124s2014 sz | s |||| 0|eng d | ||
020 |
_a9783319139067 _9978-3-319-13906-7 |
||
024 | 7 |
_a10.1007/978-3-319-13906-7 _2doi |
|
050 | 4 | _aQA76.9.A43 | |
072 | 7 |
_aUMB _2bicssc |
|
072 | 7 |
_aCOM051300 _2bisacsh |
|
072 | 7 |
_aUMB _2thema |
|
082 | 0 | 4 |
_a518.1 _223 |
100 | 1 |
_aKovalev, Mikhail. _eauthor. _4aut _4http://id.loc.gov/vocabulary/relators/aut _9172944 |
|
245 | 1 | 2 |
_aA Pipelined Multi-core MIPS Machine _h[electronic resource] : _bHardware Implementation and Correctness Proof / _cby Mikhail Kovalev, Silvia M. Müller, Wolfgang J. Paul. |
250 | _a1st ed. 2014. | ||
264 | 1 |
_aCham : _bSpringer International Publishing : _bImprint: Springer, _c2014. |
|
300 |
_aXII, 352 p. 147 illus. _bonline resource. |
||
336 |
_atext _btxt _2rdacontent |
||
337 |
_acomputer _bc _2rdamedia |
||
338 |
_aonline resource _bcr _2rdacarrier |
||
347 |
_atext file _bPDF _2rda |
||
490 | 1 |
_aTheoretical Computer Science and General Issues, _x2512-2029 ; _v9000 |
|
505 | 0 | _aIntroduction -- Motivation -- Overview -- Number Formats and Boolean Algebra -- Basics -- Numbers, Sets and Logical Connectives -- Sequences and Bit-Strings -- Modulo Computation -- Geometric Sums -- Binary Numbers -- Two's Complement Numbers -- Boolean Algebra -- Identities -- Solving Equations -- Disjunctive Normal Form -- Hardware -- Digital Gates and Circuits -- Some Basic Circuits -- Clocked Circuits -- Digital Clocked Circuits -- The Detailed Hardware Model -- Timing Analysis -- Registers -- Drivers and Main Memory -- Open Collector Drivers and Active Low Signal -- Tristate Drivers and Bus Contention -- The Incomplete Digital Model for Drivers -- Self Destructing Hardware -- Clean Operation of Tristate Buses -- Specification of Main Memory -- Operation of Main Memory via a Tristate Bus -- Finite State Transducers -- Realization of Moore Automata -- Precomputing Outputs of Moore Automata -- Realization of Mealy Automata -- Precomputing Outputs of Mealy Automata -- Nine Shades of RAM -- Basic Random Access Memory -- Single-Port RAM Designs -- Read Only Memory (ROM) -- Multi-bank RAM -- Cache State RAM -- SPR RAM -- Multi-port RAM Designs -- 3-port RAM for General Purpose Registers -- General 2-port RAM -- 2-port Multi-bank RAM-ROM -- 2-port Cache State RAM -- Arithmetic Circuits -- Adder and Incrementer -- Arithmetic Unit -- Arithmetic Logic Unit (ALU) -- Shift Unit -- Branch Condition Evaluation Unit -- A Basic Sequential MIPS Machine -- Tables -- I-type -- R-type -- J-type -- MIPS ISA -- Configuration and Instruction Fields -- Instruction Decoding -- ALU-Operations -- Shift Unit Operations -- Branch and Jump -- Sequences of Consecutive Memory Bytes -- Loads and Stores -- ISA Summary -- A Sequential Processor Design -- Software Conditions -- Hardware Configurations and Computations -- Memory Embedding -- Defining Correctness for the Processor Design -- Stages of Instruction Execution -- Initialization -- Instruction Fetch -- Instruction Decoder -- Reading from General Purpose Registers -- Next PC Environment -- ALU Environment.-Shift Unit Environment -- Jump and Link -- Collecting Results -- Effective Address -- Shift for Store Environment -- Memory Stage -- Shifter for Load -- Writing to the General Purpose Register File -- Pipelining.-MIPS ISA and Basic Implementation Revisited -- Delayed PC -- Implementing the Delayed PC -- Pipeline Stages and Visible Registers -- Basic Pipelined Processor Design -- Transforming the Sequential Design -- Scheduling Functions -- Use of Invisible Registers -- Software Condition SC-1 -- Correctness Statement -- Correctness Proof of the Basic Pipelined Design -- Forwarding -- Hits -- Forwarding Circuits -- Software Condition SC-2 -- Scheduling Functions Revisited -- Correctness Proof -- Stalling Stall Engine -- Hazard Signals -- Correctness Statement -- Scheduling Functions -- Correctness Proof -- Liveness -- Caches and Shared Memory -- Concrete and Abstract Caches -- Abstract Caches and Cache Coherence -- Direct Mapped Caches -- k-way Associative Caches -- Fully Associative Caches -- Notation -- Parameters -- Memory and Memory Systems -- Accesses and Access Sequences -- Sequential Memory Semantics -- Sequentially Consistent Memory Systems -- Memory System Hardware Configurations -- Atomic MOESI Protocol -- Invariants -- Defining the Protocol by Tables -- Translating the Tables into Switching Functions -- Algebraic Specification -- Properties of the Atomic Protocol -- Gate Level Design of a Shared Memory System -- Specification of Interfaces -- Data Paths of Caches -- Cache Protocol Automata -- Automata Transitions and Control Signals -- Bus Arbiter -- Initialization -- Correctness Proof -- Arbitration -- Silent Slaves and Silent Masters -- Automata Synchronization -- Control of Tristate Drivers -- Protocol Data Transmission -- Data Transmission -- Accesses of the Hardware Computation -- Relation with the Atomic Protocol -- Ordering Hardware Accesses Sequentially -- Sequential Consistency -- Liveness -- A Multi-core Processor -- Compare-and-Swap Instruction -- Introducing CAS to the ISA -- Introducing CAS to the Sequential Processor -- Multi-core ISA and Reference Implementation -- Multi-core ISA Specification -- Sequential Reference Implementation -- Simulation Relation -- Local Configurations and Computations -- Accesses of the Reference Computation -- Shared Memory in the Multi-core System -- Notation -- Invisible Registers and Hazard Signals -- Connecting Interfaces -- Stability of Inputs of Accesses -- Relating Update Enable Signals and Ends of Accesses -- Scheduling Functions -- Stepping Function -- Correctness Proof -- Liveness -- References -- Index. | |
520 | _aThis monograph is based on the third author's lectures on computer architecture, given in the summer semester 2013 at Saarland University, Germany. It contains a gate level construction of a multi-core machine with pipelined MIPS processor cores and a sequentially consistent shared memory. The book contains the first correctness proofs for both the gate level implementation of a multi-core processor and also of a cache based sequentially consistent shared memory. This opens the way to the formal verification of synthesizable hardware for multi-core processors in the future. Constructions are in a gate level hardware model and thus deterministic. In contrast the reference models against which correctness is shown are nondeterministic. The development of the additional machinery for these proofs and the correctness proof of the shared memory at the gate level are the main technical contributions of this work. | ||
650 | 0 |
_aAlgorithms. _93390 |
|
650 | 0 |
_aSoftware engineering. _94138 |
|
650 | 0 |
_aComputers. _98172 |
|
650 | 0 |
_aMicroprocessors. _9172945 |
|
650 | 0 |
_aComputer architecture. _93513 |
|
650 | 0 |
_aComputer networks . _931572 |
|
650 | 0 |
_aCompilers (Computer programs). _93350 |
|
650 | 1 | 4 |
_aAlgorithms. _93390 |
650 | 2 | 4 |
_aSoftware Engineering. _94138 |
650 | 2 | 4 |
_aComputer Hardware. _933420 |
650 | 2 | 4 |
_aProcessor Architectures. _9172946 |
650 | 2 | 4 |
_aComputer Communication Networks. _9172947 |
650 | 2 | 4 |
_aCompilers and Interpreters. _931853 |
700 | 1 |
_aMüller, Silvia M. _eauthor. _4aut _4http://id.loc.gov/vocabulary/relators/aut _9172948 |
|
700 | 1 |
_aPaul, Wolfgang J. _eauthor. _4aut _4http://id.loc.gov/vocabulary/relators/aut _9172949 |
|
710 | 2 |
_aSpringerLink (Online service) _9172950 |
|
773 | 0 | _tSpringer Nature eBook | |
776 | 0 | 8 |
_iPrinted edition: _z9783319139050 |
776 | 0 | 8 |
_iPrinted edition: _z9783319139074 |
830 | 0 |
_aTheoretical Computer Science and General Issues, _x2512-2029 ; _v9000 _9172951 |
|
856 | 4 | 0 | _uhttps://doi.org/10.1007/978-3-319-13906-7 |
912 | _aZDB-2-SCS | ||
912 | _aZDB-2-SXCS | ||
912 | _aZDB-2-LNC | ||
942 | _cELN | ||
999 |
_c97172 _d97172 |