BOOK
Logic and Computer Design Fundamentals, Global Edition
Morris R. Mano | Charles R. Kime | Tom Martin
(2016)
Additional Information
Book Details
Abstract
For courses in Logic and Computer design.
Understanding Logic and Computer Design for All Audiences
Logic and Computer Design Fundamentals is a thoroughly up-to-date text that makes logic design, digital system design, and computer design available to students of all levels. The Fifth Edition brings this widely recognized source to modern standards by ensuring that all information is relevant and contemporary. The material focuses on industry trends and successfully bridges the gap between the much higher levels of abstraction students in the field must work with today than in the past.
Broadly covering logic and computer design, Logic and Computer Design Fundamentals is a flexibly organized source material that allows instructors to tailor its use to a wide range of student audiences.
Table of Contents
Section Title | Page | Action | Price |
---|---|---|---|
Cover | Cover | ||
Logic and Computer Design Fundamentals | 1 | ||
Copyright | 2 | ||
Contents | 3 | ||
Preface | 12 | ||
Chapter 1: Digital Systems and Information | 19 | ||
Information Representation | 20 | ||
The Digital Computer | 22 | ||
Beyond the Computer | 23 | ||
More on the Generic Computer | 26 | ||
Abstraction Layers in Computer Systems Design | 28 | ||
An Overview of the Digital Design Process | 30 | ||
Number Systems | 31 | ||
Binary Numbers | 33 | ||
Octal and Hexadecimal Numbers | 34 | ||
Number Ranges | 36 | ||
Arithmetic Operations | 36 | ||
Conversion from Decimal to Other Bases | 39 | ||
Decimal Codes | 41 | ||
Alphanumeric Codes | 42 | ||
ASCII Character Code | 42 | ||
Parity Bit | 45 | ||
Gray Codes | 46 | ||
Chapter Summary | 48 | ||
References | 49 | ||
Problems | 49 | ||
Chapter 2: Combinational Logic Circuits | 53 | ||
Binary Logic and Gates | 54 | ||
Binary Logic | 54 | ||
Logic Gates | 56 | ||
HDL Representations of Gates | 60 | ||
Boolean Algebra | 61 | ||
Basic Identities of Boolean Algebra | 65 | ||
Algebraic Manipulation | 67 | ||
Complement of a Function | 70 | ||
Standard Forms | 71 | ||
Minterms and Maxterms | 71 | ||
Sum of Products | 75 | ||
Product of Sums | 76 | ||
Two-Level Circuit Optimization | 77 | ||
Cost Criteria | 77 | ||
Map Structures | 79 | ||
Two-Variable Maps | 81 | ||
Three-Variable Maps | 83 | ||
Map Manipulation | 87 | ||
Essential Prime Implicants | 87 | ||
Nonessential Prime Implicants | 89 | ||
Product-of-Sums Optimization | 90 | ||
Don’t-Care Conditions | 91 | ||
Exclusive-Or Operator and Gates | 94 | ||
Odd Function | 94 | ||
Gate Propagation Delay | 96 | ||
HDLs Overview | 98 | ||
Logic Synthesis | 100 | ||
HDL Representations—VHDL | 102 | ||
HDL Representations—Verilog | 110 | ||
Chapter Summary | 117 | ||
References | 118 | ||
Problems | 118 | ||
Chapter 3: Combinational Logic Design | 129 | ||
Beginning Hierarchical Design | 130 | ||
Technology Mapping | 134 | ||
Combinational Functional Blocks | 138 | ||
Rudimentary Logic Functions | 138 | ||
Value-Fixing, Transferring, and Inverting | 139 | ||
Multiple-Bit Functions | 139 | ||
Enabling | 142 | ||
Decoding | 144 | ||
Decoder and Enabling Combinations | 148 | ||
Decoder-Based Combinational Circuits | 151 | ||
Encoding | 153 | ||
Priority Encoder | 154 | ||
Encoder Expansion | 155 | ||
Selecting | 156 | ||
Multiplexers | 156 | ||
Multiplexer-Based Combinational Circuits | 166 | ||
Iterative Combinational Circuits | 166 | ||
Binary Adders | 173 | ||
Half Adder | 173 | ||
Full Adder | 174 | ||
Binary Ripple Carry Adder | 175 | ||
Binary Subtraction | 177 | ||
Complements | 178 | ||
Subtraction Using 2s Complement | 180 | ||
Binary Adder-Subtractors | 181 | ||
Signed Binary Numbers | 182 | ||
Signed Binary Addition and Subtraction | 184 | ||
Overflow | 186 | ||
HDL Models of Adders | 188 | ||
Behavioral Description | 190 | ||
Other Arithmetic Functions | 193 | ||
Contraction | 194 | ||
Incrementing | 195 | ||
Decrementing | 196 | ||
Multiplication by Constants | 196 | ||
Division by Constants | 198 | ||
Zero Fill and Extension | 198 | ||
Chapter Summary | 199 | ||
References | 199 | ||
Problems | 200 | ||
Chapter 4: Sequential Circuits | 213 | ||
Sequential Circuit Definitions | 214 | ||
Latches | 217 | ||
SR and SR Latches | 217 | ||
D Latch | 220 | ||
Flip-Flops | 220 | ||
Edge-Triggered Flip-Flop | 222 | ||
Standard Graphics Symbols | 223 | ||
Direct Inputs | 225 | ||
Sequential Circuit Analysis | 226 | ||
Input Equations | 226 | ||
State Table | 227 | ||
State Diagram | 229 | ||
Sequential Circuit Simulation | 232 | ||
Sequential Circuit Design | 234 | ||
Design Procedure | 234 | ||
Finding State Diagrams and State Tables | 235 | ||
State Assignment | 242 | ||
Designing with D Flip-Flops | 243 | ||
Designing with Unused States | 246 | ||
Verification | 248 | ||
State-Machine Diagrams and Applications | 250 | ||
State-Machine Diagram Model | 252 | ||
Constraints on Input Conditions | 254 | ||
Design Applications Using State- Machine Diagrams | 256 | ||
HDL Representation for Sequential Circuits—VHDL | 264 | ||
HDL Representation for Sequential Circuits—Verilog | 273 | ||
Flip-Flop Timing | 282 | ||
Sequential Circuit Timing | 283 | ||
Asynchronous Interactions | 286 | ||
Synchronization and Metastability | 287 | ||
Synchronous Circuit Pitfalls | 287 | ||
Chapter Summary | 294 | ||
References | 295 | ||
Problems | 296 | ||
Chapter 5: Digital Hardware Implementation | 311 | ||
The Design Space | 311 | ||
Integrated Circuits | 311 | ||
CMOS Circuit Technology | 312 | ||
Technology Parameters | 318 | ||
Programmable Implementation Technologies | 320 | ||
Read-Only Memory | 322 | ||
Programmable Logic Array | 324 | ||
Programmable Array Logic Devices | 327 | ||
Field Programmable Gate Array | 329 | ||
Chapter Summary | 334 | ||
References | 334 | ||
Problems | 334 | ||
Chapter 6: Registers and Register Transfers | 339 | ||
Registers and Load Enable | 340 | ||
Register with Parallel Load | 341 | ||
Register Transfers | 343 | ||
Register Transfer Operations | 345 | ||
Register Transfers in VHDL and Verilog | 347 | ||
Microoperations | 348 | ||
Arithmetic Microoperations | 349 | ||
Logic Microoperations | 351 | ||
Shift Microoperations | 353 | ||
Microoperations on a Single Register | 353 | ||
Multiplexer-Based Transfers | 354 | ||
Shift Registers | 356 | ||
Ripple Counter | 361 | ||
Synchronous Binary Counters | 363 | ||
Other Counters | 367 | ||
Register-Cell Design | 370 | ||
Multiplexer and Bus-Based Transfers for Multiple Registers | 375 | ||
High-Impedance Outputs | 377 | ||
Three-State Bus | 379 | ||
Serial Transfer and Microoperations | 380 | ||
Serial Addition | 381 | ||
Control of Register Transfers | 383 | ||
Design Procedure | 384 | ||
HDL Representation for Shift Registers and Counters—VHDL | 400 | ||
HDL Representation for Shift Registers and Counters—Verilog | 402 | ||
Microprogrammed Control | 404 | ||
Chapter Summary | 406 | ||
References | 407 | ||
Problems | 407 | ||
Chapter 7: Memory Basics | 419 | ||
Memory Definitions | 419 | ||
Random-Access Memory | 420 | ||
Write and Read Operations | 422 | ||
Timing Waveforms | 423 | ||
Properties of Memory | 425 | ||
SRAM Integrated Circuits | 425 | ||
Coincident Selection | 427 | ||
Array of SRAM ICs | 431 | ||
DRAM ICs | 434 | ||
DRAM Cell | 435 | ||
DRAM Bit Slice | 436 | ||
DRAM Types | 440 | ||
Synchronous DRAM (SDRAM) | 442 | ||
Double-Data-Rate SDRAM (DDR SDRAM) | 444 | ||
RAMBUS® DRAM (RDRAM) | 445 | ||
Arrays of Dynamic RAM ICs | 446 | ||
Chapter Summary | 446 | ||
References | 447 | ||
Problems | 447 | ||
Chapter 8: Computer Design Basics | 449 | ||
Introduction | 450 | ||
Datapaths | 450 | ||
The Arithmetic/Logic Unit | 453 | ||
Arithmetic Circuit | 453 | ||
Logic Circuit | 456 | ||
Arithmetic/Logic Unit | 458 | ||
The Shifter | 459 | ||
Barrel Shifter | 460 | ||
Datapath Representation | 461 | ||
The Control Word | 463 | ||
A Simple Computer Architecture | 469 | ||
Instruction Set Architecture | 469 | ||
Storage Resources | 470 | ||
Instruction Formats | 471 | ||
Instruction Specifications | 473 | ||
Single-Cycle Hardwired Control | 476 | ||
Instruction Decoder | 477 | ||
Sample Instructions and Program | 479 | ||
Single-Cycle Computer Issues | 482 | ||
Multiple-Cycle Hardwired Control | 483 | ||
Sequential Control Design | 487 | ||
Chapter Summary | 492 | ||
References | 494 | ||
Problems | 494 | ||
Chapter 9: Instruction Set Architecture | 501 | ||
Computer Architecture Concepts | 501 | ||
Basic Computer Operation Cycle | 503 | ||
Register Set | 503 | ||
Operand Addressing | 504 | ||
Three-Address Instructions | 505 | ||
Two-Address Instructions | 505 | ||
One-Address Instructions | 506 | ||
Zero- Address Instructions | 506 | ||
Addressing Architectures | 507 | ||
Addressing Modes | 510 | ||
Implied Mode | 511 | ||
Immediate Mode | 511 | ||
Register and Register-Indirect Modes | 512 | ||
Direct Addressing Mode | 512 | ||
Indirect Addressing Mode | 513 | ||
Relative Addressing Mode | 514 | ||
Indexed Addressing Mode | 515 | ||
Summary of Addressing Modes | 516 | ||
Instruction Set Architectures | 517 | ||
Data-Transfer Instructions | 518 | ||
Stack Instructions | 518 | ||
Independent versus Memory- Mapped I/O | 520 | ||
Data-Manipulation Instructions | 521 | ||
Arithmetic Instructions | 521 | ||
Logical and Bit- Manipulation Instructions | 522 | ||
Shift Instructions | 524 | ||
Floating-Point Computations | 525 | ||
Arithmetic Operations | 526 | ||
Arithmetic Operations | 527 | ||
Standard Operand Format | 528 | ||
Program Control Instructions | 530 | ||
Conditional Branch Instructions | 531 | ||
Procedure Call and Return Instructions | 533 | ||
Program Interrupt | 535 | ||
Types of Interrupts | 536 | ||
Processing External Interrupts | 537 | ||
Chapter Summary | 538 | ||
References | 539 | ||
Problems | 539 | ||
Chapter 10: Risc and Cisc Central Processing Units | 547 | ||
Pipelined Datapath | 548 | ||
Execution of Pipeline Microoperations | 552 | ||
Pipelined Control | 553 | ||
Pipeline Programming and Performance | 555 | ||
The Reduced Instruction Set Computer | 557 | ||
Instruction Set Architecture | 557 | ||
Addressing Modes | 560 | ||
Datapath Organization | 561 | ||
Control Organization | 564 | ||
Data Hazards | 566 | ||
Control Hazards | 573 | ||
The Complex Instruction Set Computer | 577 | ||
ISA Modifications | 579 | ||
Datapath Modifications | 580 | ||
Control Unit Modifications | 582 | ||
Microprogrammed Control | 583 | ||
Microprograms for Complex Instructions | 585 | ||
More on Design | 588 | ||
Advanced CPU Concepts | 589 | ||
Recent Architectural Innovations | 592 | ||
Chapter Summary | 595 | ||
References | 596 | ||
Problems | 597 | ||
Chapter 11: Input—Output and Communication | 601 | ||
Computer I/O | 601 | ||
Sample Peripherals | 602 | ||
Keyboard | 602 | ||
Hard Drive | 603 | ||
Liquid Crystal Display Screen | 605 | ||
I/O Transfer Rates | 608 | ||
I/O Interfaces | 608 | ||
I/O Bus and Interface Unit | 609 | ||
Example of I/O Interface | 610 | ||
Strobing | 611 | ||
Handshaking | 613 | ||
Serial Communication | 614 | ||
Synchronous Transmission | 615 | ||
The Keyboard Revisited | 616 | ||
A Packet-Based Serial I/O Bus | 617 | ||
Modes of Transfer | 620 | ||
Example of Program-Controlled Transfer | 621 | ||
Interrupt-Initiated Transfer | 622 | ||
Priority Interrupt | 624 | ||
Daisy Chain Priority | 624 | ||
Parallel Priority Hardware | 626 | ||
Direct Memory Access | 627 | ||
DMA Controller | 628 | ||
DMA Transfe | 630 | ||
Chapter Summary | 631 | ||
References | 631 | ||
Problems | 632 | ||
Chapter 12: Memory Systems | 635 | ||
Memory Hierarchy | 635 | ||
Locality of Reference | 638 | ||
Cache Memory | 640 | ||
Cache Mappings | 642 | ||
Line Size | 647 | ||
Cache Loading | 648 | ||
Write Methods | 649 | ||
Integration of Concepts | 650 | ||
Instruction and Data Caches | 652 | ||
Multiple-Level Caches | 653 | ||
Virtual Memory | 653 | ||
Page Tables | 655 | ||
Translation Lookaside Buffer | 657 | ||
Virtual Memory and Cache | 659 | ||
Chapter Summary | 659 | ||
References | 660 | ||
Problems | 660 | ||
Index | 664 |