Digital Design and Computer Architecture, authored by David and Sarah Harris, is a widely-used textbook offering a comprehensive exploration of digital system design principles and computer architecture concepts.
Overview of the Textbook
Digital Design and Computer Architecture (Harris & Harris) provides a robust foundation in both digital logic and computer organization. The book meticulously covers fundamental concepts, progressing from Boolean algebra and logic gates to complex processor designs. It distinguishes itself through a practical approach, integrating real-world examples and emphasizing the connection between theoretical knowledge and practical implementation.
The textbook delves into crucial areas like combinational and sequential logic, finite state machines, instruction set architecture, and memory hierarchies. Notably, it incorporates hardware description languages – SystemVerilog and VHDL – demonstrating their application in CAD-based circuit design. The ARM edition expands upon these foundations, specifically addressing embedded systems and heterogeneous computing, making it a valuable resource for modern computer engineering students and professionals. It’s a 593-page resource.
Target Audience and Prerequisites
Digital Design and Computer Architecture (Harris & Harris) is primarily aimed at undergraduate students in electrical engineering, computer engineering, and computer science programs. The book is suitable for courses covering digital logic design, computer organization, and introductory computer architecture. A foundational understanding of basic circuit analysis and a familiarity with introductory programming concepts – potentially strengthened by the included C programming appendix – are beneficial prerequisites.
While prior experience with hardware description languages isn’t strictly required, the textbook’s integration of SystemVerilog and VHDL makes it advantageous for students willing to learn these tools. The material is presented in a manner accessible to those with a solid grasp of fundamental digital concepts, building progressively towards more advanced topics. It serves well as a core text for a three-semester course sequence.
Key Features and Strengths
Digital Design and Computer Architecture (Harris & Harris) distinguishes itself through its practical approach, bridging the gap between theoretical concepts and real-world applications. A significant strength lies in its comprehensive coverage of interfacing with peripherals, including detailed examples of RS232, SPI, motor control, and analog-to-digital conversion.
The book’s integration of both SystemVerilog and VHDL allows students to explore CAD-based circuit design techniques. Furthermore, it features updated content on parallel architectures, I/O applications, embedded systems, and heterogeneous computing. The inclusion of a new appendix dedicated to C programming reinforces the connection between software and hardware; With 593 pages, it provides a robust and detailed learning experience.

Fundamental Digital Logic Concepts
This section meticulously covers the foundational elements of digital systems, starting with Boolean algebra and progressing through logic gate implementations and designs.
Boolean Algebra and Logic Gates
This crucial chapter establishes the mathematical foundation for digital logic using Boolean algebra, detailing fundamental theorems and properties essential for simplifying and analyzing digital circuits. It then seamlessly transitions into the practical realization of these concepts through logic gates – AND, OR, NOT, NAND, NOR, XOR, and XNOR – illustrating their truth tables and symbolic representations.
The textbook emphasizes how these gates are the building blocks of more complex digital systems. Students learn to express Boolean functions in various forms (sum-of-products, product-of-sums) and implement them efficiently using minimal gate configurations. Practical examples demonstrate how to design basic combinational circuits directly from Boolean expressions, solidifying understanding of these core principles.
Combinational Logic Design
This section delves into the design of circuits where the output is solely dependent on the current input – combinational logic. The textbook meticulously covers techniques for designing adders, subtractors, multiplexers, decoders, and encoders, providing a strong foundation for building more complex digital systems.
Harris & Harris emphasize a systematic approach to combinational design, utilizing Boolean algebra simplification, Karnaugh maps, and tabular methods to derive optimized logic expressions. Students learn to translate real-world problems into logical equations and then implement those equations using appropriate logic gates. Numerous examples and exercises reinforce the design process, preparing students for tackling more advanced architectural challenges.
Sequential Logic Design: Flip-Flops and Registers
This crucial section transitions from stateless combinational logic to circuits with memory – sequential logic. The textbook provides a detailed examination of fundamental building blocks like SR, D, JK, and T flip-flops, explaining their operation, characteristics, and applications. Students learn how these basic elements are combined to construct registers, which are essential for storing multi-bit data within digital systems.
Harris & Harris thoroughly explore the concepts of clocking, state diagrams, and state tables, enabling students to analyze and design sequential circuits effectively. Emphasis is placed on understanding timing considerations and potential hazards, ensuring robust and reliable designs. Practical examples demonstrate the use of registers in various applications, solidifying understanding.
Finite State Machines (FSMs)
Finite State Machines represent a powerful and widely-used model for designing sequential logic circuits. The textbook dedicates significant attention to FSMs, covering both Moore and Mealy machine implementations, detailing their differences and trade-offs. Students learn a systematic approach to FSM design, starting with state diagram creation, followed by state encoding, and ultimately, logic implementation.
Harris & Harris emphasize the importance of minimizing the complexity of FSMs through techniques like state reduction, leading to more efficient hardware designs. Numerous examples illustrate the application of FSMs in controlling sequential operations, such as counters, sequence detectors, and control logic for more complex systems. The text provides a solid foundation for tackling real-world sequential design challenges.

Computer Architecture Fundamentals
This section delves into core architectural concepts, including instruction set architecture, data representation, processor organization, and the crucial memory hierarchy.
Instruction Set Architecture (ISA)
The Instruction Set Architecture (ISA) forms the foundational interface between a computer’s hardware and its software. Harris & Harris meticulously cover this critical aspect, detailing how the ISA defines the instructions a processor can execute, the data types it supports, and the addressing modes available. Understanding the ISA is paramount for programmers and hardware designers alike.
The textbook explores various ISA design choices, examining their impact on performance, complexity, and power consumption. It illustrates how different ISAs cater to diverse application requirements, from embedded systems to high-performance computing. Students gain insight into the trade-offs involved in ISA design, learning to analyze and compare different architectural approaches. Practical examples demonstrate how assembly language programming interacts directly with the underlying hardware, solidifying comprehension of this fundamental concept.
Data Representation and Arithmetic Operations
Harris & Harris dedicate significant attention to how data is represented within a digital system, covering essential topics like binary, hexadecimal, and two’s complement representation of integers. The text thoroughly explains the nuances of fixed-point and floating-point arithmetic, detailing how these methods are used to represent and manipulate real numbers.

A core focus is on the hardware implementation of arithmetic operations – addition, subtraction, multiplication, and division. The book elucidates the underlying logic circuits and algorithms used to perform these operations efficiently. Students learn about potential issues like overflow and underflow, and techniques for mitigating them. The material bridges the gap between abstract mathematical concepts and their concrete realization in digital hardware, providing a solid foundation for further study.
Processor Organization and Control Unit
Harris & Harris meticulously dissect the internal organization of a processor, detailing the key components and their interconnections. This includes a deep dive into the Arithmetic Logic Unit (ALU), registers, and the crucial role of the control unit. The text explains how the control unit fetches, decodes, and executes instructions, orchestrating the operation of the entire processor.
A significant portion is devoted to control unit design methodologies, encompassing both hardwired control and microprogrammed control. Students gain insight into the trade-offs between these approaches, considering factors like flexibility, cost, and performance. The book illustrates how instruction sequencing and timing are managed, providing a comprehensive understanding of the processor’s operational flow and the mechanisms governing its behavior.
Memory Hierarchy: Cache, RAM, and ROM

Harris & Harris thoroughly explain the concept of the memory hierarchy, a fundamental aspect of computer architecture designed to bridge the speed gap between the processor and main memory. The textbook details the different levels – cache, RAM (Random Access Memory), and ROM (Read-Only Memory) – and their respective characteristics.
It explores cache memory organization, including mapping techniques like direct-mapped, associative, and set-associative, alongside replacement policies. The discussion extends to RAM technologies, such as DRAM and SRAM, and the principles of ROM, including its use for storing firmware. The authors emphasize how the memory hierarchy optimizes performance by exploiting locality of reference, reducing average memory access time and enhancing overall system efficiency.

Advanced Architectural Topics
Harris & Harris delve into pipelining, parallel processing, interrupt handling, and I/O interfacing, showcasing techniques for maximizing performance and system responsiveness.
Pipelining for Performance Improvement
Pipelining, a crucial technique explored in Harris & Harris’ work, dramatically enhances processor throughput by overlapping the execution of multiple instructions. Instead of completing one instruction fully before starting the next, pipelining divides instruction processing into stages – fetch, decode, execute, memory access, and write-back – allowing several instructions to be in progress simultaneously.
The textbook meticulously explains how to identify pipeline hazards, such as data dependencies and control hazards, and presents solutions like forwarding and branch prediction to mitigate their impact. Through detailed examples and illustrations, readers gain a solid understanding of how pipelining increases instruction execution speed, ultimately leading to improved system performance. The authors emphasize the trade-offs involved, including increased complexity in control logic and potential stalls due to hazards.
Parallel Processing Architectures
Harris & Harris dedicate significant attention to parallel processing architectures, recognizing their importance in modern computing. The textbook details various approaches to achieving parallelism, moving beyond the limitations of single-processor systems. These include instruction-level parallelism (ILP), explored through techniques like pipelining and superscalar execution, and data-level parallelism (DLP), utilizing SIMD (Single Instruction, Multiple Data) architectures.
Furthermore, the authors delve into thread-level parallelism (TLP) and its implementation in multi-core processors. They explain the challenges associated with parallel processing, such as communication overhead, synchronization, and data consistency. The text provides practical examples and discusses how these architectures are employed to tackle computationally intensive tasks, significantly boosting performance in applications like image processing and scientific simulations.
Interrupts and Exception Handling
Harris & Harris thoroughly cover interrupts and exception handling, crucial components of any robust computer architecture. The textbook explains how these mechanisms allow a processor to respond to asynchronous events – interrupts – and exceptional conditions during program execution – exceptions. These events necessitate a deviation from the normal instruction flow to handle urgent tasks or errors.
The authors detail the interrupt process, including interrupt vectors, interrupt service routines (ISRs), and context switching. They also discuss different types of exceptions, such as arithmetic overflows, illegal opcodes, and memory access violations. Understanding these concepts is vital for building reliable and responsive systems, particularly in embedded applications where real-time responsiveness is paramount. The text provides practical insights into designing effective interrupt handling schemes.
Input/Output (I/O) Interfacing
Harris & Harris dedicate significant attention to Input/Output (I/O) interfacing, recognizing its importance in connecting a processor to the external world. The textbook provides practical examples detailing common interfaces like RS232 and SPI (Serial Peripheral Interface), illustrating how to communicate with peripherals. These examples demonstrate the hardware and software considerations involved in data transfer and control.
The authors explore various I/O techniques, including programmed I/O, interrupt-driven I/O, and Direct Memory Access (DMA). They also cover motor control applications, showcasing how digital systems can interact with physical actuators. Furthermore, the integration of SystemVerilog and VHDL allows students to model and simulate I/O interfaces, solidifying their understanding of these critical system components. This practical approach prepares students for real-world hardware design challenges.

Practical Applications and Hardware Description Languages
Harris & Harris bridge theory and practice, integrating SystemVerilog and VHDL throughout examples, illustrating CAD-based circuit design methods and techniques.
RS232 Communication Interface
Harris & Harris dedicate attention to practical interfacing, notably detailing the RS232 communication interface. This serial communication standard remains relevant for connecting devices, offering a foundational understanding of data transmission protocols. The textbook provides examples demonstrating how to implement and utilize RS232 within digital systems, covering aspects like signal encoding, baud rates, and hardware configuration.
Students gain insight into the challenges and solutions associated with asynchronous serial communication. The text likely explores the role of UARTs (Universal Asynchronous Receiver/Transmitters) in managing RS232 communication, enabling effective data exchange between a computer and peripheral devices. This practical focus prepares students for real-world hardware integration scenarios.
SPI (Serial Peripheral Interface)
Harris & Harris’s textbook also covers the SPI (Serial Peripheral Interface), a synchronous serial communication protocol frequently used for short-distance, high-speed data transfer. The book likely details the SPI’s four-wire interface – MOSI, MISO, SCK, and SS – explaining the function of each signal in facilitating communication between microcontrollers and peripherals.
Practical examples within the text demonstrate how to configure and utilize SPI for interfacing with sensors, memory devices, and other components. Students learn about master/slave configurations, data framing, and clock polarity/phase settings. This section equips readers with the knowledge to implement efficient and reliable serial communication systems, crucial for embedded systems design and hardware integration.
Motor Control Applications
Harris & Harris integrate practical applications, including motor control, to illustrate the principles of digital design and computer architecture. The textbook likely explores techniques for controlling DC motors, stepper motors, and servo motors using digital circuits and embedded systems. This involves understanding pulse-width modulation (PWM) for speed control, direction control logic, and feedback mechanisms like encoders.
Readers gain insights into designing interfaces for motor drivers, implementing control algorithms, and handling motor-related interrupts. The book’s examples demonstrate how to translate theoretical concepts into real-world applications, preparing students for projects involving robotics, automation, and mechatronics. This section bridges the gap between abstract design principles and tangible hardware implementations.
SystemVerilog and VHDL Integration
Harris & Harris effectively integrate SystemVerilog and VHDL throughout the text, recognizing their importance in modern CAD-based circuit design. The textbook utilizes these Hardware Description Languages (HDLs) in practical examples, demonstrating how to model, simulate, and synthesize digital circuits. This approach allows students to move beyond theoretical understanding and gain hands-on experience with industry-standard tools.

The integration of SystemVerilog and VHDL enables readers to implement and verify designs, preparing them for complex projects. Examples illustrate techniques for creating testbenches, performing functional verification, and generating netlists for implementation. This practical focus ensures students are well-equipped for professional roles in digital system design and verification.

The ARM Edition and Embedded Systems
Harris & Harris provide an ARM Edition focusing on embedded systems design, exploring heterogeneous computing and offering practical applications within this domain.
ARM Architecture Overview
The ARM Architecture, as presented in the Harris & Harris textbook, represents a dominant force in the realm of embedded systems and mobile computing. This edition delves into the specifics of ARM processors, moving beyond theoretical foundations to provide a practical understanding of its instruction set and organizational structure. Students gain insight into the core principles that underpin ARM’s energy efficiency and widespread adoption.
The text explores the nuances of ARM’s Reduced Instruction Set Computing (RISC) design, examining its impact on performance and power consumption. Coverage extends to the various ARM processor families and their respective features, equipping readers with the knowledge to select appropriate architectures for diverse applications. Furthermore, the book illustrates how ARM’s capabilities translate into real-world embedded system implementations, bridging the gap between theory and practice.
Embedded Systems Design with Harris & Harris
Harris & Harris expertly integrates embedded systems design principles throughout the textbook, providing a practical pathway for students to apply digital logic and computer architecture concepts. The book showcases how to interface with peripherals – including RS232, SPI, and motor control systems – crucial for building functional embedded applications. This hands-on approach is bolstered by examples utilizing wireless communication and analog-to-digital conversion techniques.
A key strength lies in the integration of hardware description languages like SystemVerilog and VHDL, demonstrating CAD-based circuit design methodologies. The text doesn’t just present theory; it guides readers through the process of translating designs into tangible hardware implementations. This focus prepares students for real-world challenges in developing and deploying embedded systems across various industries.
Heterogeneous Computing Concepts
Harris & Harris delve into the increasingly important realm of heterogeneous computing, acknowledging that modern systems rarely rely on a single type of processor. The textbook explores architectures that combine different processing elements – such as CPUs, GPUs, and specialized accelerators – to optimize performance and energy efficiency for diverse workloads.
This exploration extends beyond traditional computer architecture, equipping students with the knowledge to understand systems where tasks are strategically offloaded to the most suitable processing unit. The inclusion of new examples and advanced architectures demonstrates how to leverage the strengths of various computational resources. This prepares students for designing systems capable of handling complex applications demanding high throughput and responsiveness, a cornerstone of modern computing.

Resources and Further Learning
Harris & Harris supplement the core text with a C programming appendix, additional exercises, and online materials for enhanced learning and practical application.
Appendix on C Programming
The inclusion of a dedicated C programming appendix within “Digital Design and Computer Architecture” by Harris & Harris strategically bridges the gap between high-level programming concepts and the underlying processor architecture. This appendix isn’t merely an add-on; it’s a crucial component designed to solidify understanding. Students gain practical insight into how software instructions translate into hardware operations.
By exploring C, learners can better grasp the implications of architectural decisions on code performance and efficiency. The appendix reinforces the connection between programming paradigms and the physical realization of computation. It provides a foundation for understanding assembly language and low-level system interactions, ultimately enhancing the overall learning experience and preparing students for advanced studies in embedded systems and computer engineering.
Additional Exercises and Examples
“Digital Design and Computer Architecture” by Harris & Harris doesn’t stop at theoretical explanations; it actively promotes learning through a wealth of supplementary exercises and illustrative examples. These aren’t simply repetitive drills, but thoughtfully crafted problems designed to challenge students and reinforce core concepts. The textbook provides new examples of parallel and advanced architectures, pushing students to apply their knowledge in complex scenarios.
Furthermore, the inclusion of practical I/O applications allows students to see how theoretical principles translate into real-world hardware interactions. These exercises and examples are vital for solidifying understanding and developing the problem-solving skills essential for success in digital design and computer architecture. They foster a deeper, more intuitive grasp of the subject matter.
Online Resources and Support Materials
While the “Digital Design and Computer Architecture” textbook by Harris & Harris is a robust resource on its own, the learning experience is significantly enhanced by available online support materials. Though specifics aren’t extensively detailed in readily available summaries, the integration of SystemVerilog and VHDL throughout the text suggests accompanying resources for CAD-based circuit design are likely accessible.
Students and instructors can often find supplementary materials such as example code, solutions manuals, and potentially even lecture slides through the publisher’s website or affiliated educational platforms. Furthermore, online forums and communities dedicated to digital design and computer architecture can provide valuable peer support and collaborative learning opportunities, extending the textbook’s reach.
