Computer Science

Computer Architecture

Computer architecture refers to the design and organization of computer systems, including the structure and behavior of the hardware components such as the central processing unit (CPU), memory, and input/output devices. It encompasses the principles and methods for designing and building computer systems to achieve specific performance, power, and cost goals. Understanding computer architecture is essential for optimizing system performance and efficiency.

Written by Perlego with AI-assistance

11 Key excerpts on "Computer Architecture"

  • Book cover image for: Computer Architecture
    eBook - PDF

    Computer Architecture

    Fundamentals and Principles of Computer Design, Second Edition

    • Joseph D. Dumas II(Author)
    • 2016(Publication Date)
    • CRC Press
      (Publisher)
    chapter one Introduction to Computer ArchitectureComputer Architecture” is not the use of computers to design buildings (although that is one of many useful applications of computers). Rather, Computer Architecture is the design of computer systems, including all of their major subsystems: the central processing unit (CPU), the memory system, and the input/output (I/O) system. In this introductory chapter, we take a brief look at the history of computers and consider some general topics applicable to the study of Computer Architectures. In subsequent chapters, we examine in more detail the function and design of specifc parts of a typical modern computer system. If your goal is to be a designer of computer systems, this book provides an essential introduction to gen-eral design principles that can be expanded upon with more advanced study of particular topics. If (as is perhaps more likely) your career path involves programming, systems analysis or administration, technical management, or some other position in the computer or information technology feld, this book provides you with the knowledge required to understand, compare, specify, select, and get the best performance out of computer systems for years to come. No one can be a true computer pro-fessional without at least a basic understanding of Computer Architecture concepts. So let’s get underway! 1.1 What is Computer Architecture? Computer Architecture is the design of computer systems, including all major subsystems, including the CPU and the memory and I/O systems. All of these parts play a major role in the operation and performance of the overall system, so we will spend some time studying each.
  • Book cover image for: Computer Architecture
    eBook - ePub

    Computer Architecture

    Fundamentals and Principles of Computer Design, Second Edition

    • Joseph D. Dumas II(Author)
    • 2016(Publication Date)
    • CRC Press
      (Publisher)
    chapter one

    Introduction to Computer Architecture

    Computer Architecture” is not the use of computers to design buildings (although that is one of many useful applications of computers). Rather, Computer Architecture is the design of computer systems, including all of their major subsystems: the central processing unit (CPU), the memory system, and the input/output (I/O) system. In this introductory chapter, we take a brief look at the history of computers and consider some general topics applicable to the study of Computer Architectures. In subsequent chapters, we examine in more detail the function and design of specific parts of a typical modern computer system. If your goal is to be a designer of computer systems, this book provides an essential introduction to general design principles that can be expanded upon with more advanced study of particular topics. If (as is perhaps more likely) your career path involves programming, systems analysis or administration, technical management, or some other position in the computer or information technology field, this book provides you with the knowledge required to understand, compare, specify, select, and get the best performance out of computer systems for years to come. No one can be a true computer professional without at least a basic understanding of Computer Architecture concepts. So let’s get underway!

    1.1 What is Computer Architecture?

    Computer Architecture is the design of computer systems, including all major subsystems, including the CPU and the memory and I/O systems. All of these parts play a major role in the operation and performance of the overall system, so we will spend some time studying each. CPU design starts with the design of the instruction set that the processor will execute and includes the design of the arithmetic and logic hardware that performs computations; the register set that holds operands for computations; the control unit that carries out the execution of instructions (using the other components to do the work); and the internal buses, or connections, that allow these components to communicate with each other. Memory system design uses a variety of components with differing characteristics to form an overall system (including main, or primary, memory and secondary memory) that is affordable while having sufficient storage capacity for the intended application and being fast enough to keep up with the CPU’s demand for instructions and data.
  • Book cover image for: Fundamentals of Computer Organization and Architecture
    • Hesham El-Rewini, Mostafa Abd-El-Barr(Authors)
    • 2005(Publication Date)
    Based on the interface between different levels of the system, a number of Computer Architectures can be defined. The interface between the application programs and a high-level language is referred to as a language architecture. The instruction set architecture defines the interface between the basic machine instruction set and the runtime and I/O control. A different definition of Computer Architecture is built on four basic viewpoints. These are the structure, the organization, the implementation, and the performance. In this definition, the structure defines the interconnection of various hardware com- ponents, the organization defines the dynamic interplay and management of the various components, the implementation defines the detailed design of hardware components, and the performance specifies the behavior of the computer system. Architectural development and styles are covered in Section 1.2. 1 Fundamentals of Computer Organization and Architecture, by M. Abd-El-Barr and H. El-Rewini ISBN 0-471-46741-3 Copyright # 2005 John Wiley & Sons, Inc. A number of technological developments are presented in Section 1.3. Our discus- sion in this chapter concludes with a detailed coverage of CPU performance measures. 1.1. HISTORICAL BACKGROUND In this section, we would like to provide a historical background on the evolution of cornerstone ideas in the computing industry. We should emphasize at the outset that the effort to build computers has not originated at one single place. There is every reason for us to believe that attempts to build the first computer existed in different geographically distributed places. We also firmly believe that building a computer requires teamwork. Therefore, when some people attribute a machine to the name of a single researcher, what they actually mean is that such researcher may have led the team who introduced the machine.
  • Book cover image for: Computer Architecture and Security
    eBook - ePub

    Computer Architecture and Security

    Fundamentals of Designing Secure Computer Systems

    • Shuangbao Paul Wang, Robert S. Ledley(Authors)
    • 2012(Publication Date)
    • Wiley
      (Publisher)
    Chapter 1 Introduction to Computer Architecture and Security A Computer is composed of a number of different components:
    Hardware: Computer hardware processes information by executing instructions, storing data, moving data among input and output devices, and transmitting and receiving information to and from remote network locations.
    Software: Software consists of system software and application software or programs. Operating Systems such as Windows, UNIX/Linux and Snow Leopard are system software. Word, Firefox browser and iTunes are examples of application software.
    Network: The network communication component is responsible for sending and receiving information and data through local area network or wireless connections.
    Data: is the fundamental representation of information and facts but usually formatted in a special way. All software is divided into two categories: data and programs. Programs are a collection of instructions for manipulating data.
    Figure 1.1 shows a view of a computer system from a user perspective. Here a computer system no longer looks like an onion as traditional textbooks used to represent. Instead, a network component (including hardware and software) is added as a highway for data flowing in and out of the computer system.
    Figure 1.1 A conceptual diagram of a common computer system
    Computer Architecture is to study how to design computer systems. It includes all components: the central processing unit (CPU), computer memory and storage, input and output devices (I/O), and network components.
    Since the invention of the Internet, computer systems are no longer standalone machines. The traditional “computing” concept of the single machine model is fading away. For most users, information exchange has taken an important role in everyday computer uses.
    As computer systems expose themselves over the Internet, the threat to computer systems has grown greater and greater. To protect a computer system (hardware, software, network, and data) from attacks, people have developed many counter-attack techniques such as firewalls, intrusion detection systems, user authentications, data encryptions and so on.
  • Book cover image for: Special Computer Architectures for Pattern Processing
    • King-Sun Fu(Author)
    • 2018(Publication Date)
    • CRC Press
      (Publisher)
    Chapter 2 Computer Architecture — AN INTRODUCTION C. V. Ramamoorthy and Benjamin W. Wah TABLE OF CONTENTS I. Introduction A. Arithmetic Module B. Control Unit C. Memory D. I/O E. Communications II. Microprogramming A. Evolution B. Microinstruction Format C. Applications of Microprogramming 1. Logical Design of the Control Unit 2. System Emulation 3. High Level Language Execution III. Stack Architecture A. Evaluating Arithmetic Expressions Using Stacks B. Subroutine Management Using Stacks IV. Parallel Computers A. Instruction Stream B. Interconnection Network C. Processor Capabilities V. Pipeline Computers A. Pipeline Characterization 1. Levels of Pipelining 2. Pipeline Configurations B. Performance Considerations 1. Throughput Considerations 2. Efficiency. Considerations C. Design Issues for a General Sequential Pipelined Processor 1. Buffering 2. Busing Structure 3. Branching 4. Interrupt Handling VI. Computer Communication Networks A. Data Communication Hardware B. Network Architecture 1. Topology 2. Point-to-Point Network Technologies VII. The Future References I. INTRODUCTION The study of Computer Architecture is the study of the organization and interconnection of computer system components. These components include memories, buses, arithmetic units, microprocessors, input/output (I/O) units, etc. Using these components, the computer architect can design systems with various performance, reliability, cost, and other design criteria. The art of designing Computer Architecture is therefore the assembly of available computer components to form a system satisfying the users’ requirements. The design of computers has evolved greatly in speed and complexity since the design of the Analytical Engine by Charles Babbage nearly 150 years ago. 27 Babbage’s design was very primitive and did not have any stored program. Since then, many people have improved and extended the design of computers; among them are Herman Hollerith, William S. Burroughs, Charles X
  • Book cover image for: Foundations of Computing
    eBook - ePub

    Foundations of Computing

    Essential for Computing Studies, Profession And Entrance Examinations - 5th Edition

    • Pradeep K. Sinha, Priti Sinha(Authors)
    • 2022(Publication Date)
    • BPB Publications
      (Publisher)
    Chapter 4

    Computer Architecture

    This chapter provides an overview of computer system architecture. It first introduces the basic functional units of a computer system and then provides detail architectures of processor and memory. Subsequent chapters provide details of other units (secondary storage and I/O devices). This chapter also provides details of interconnection architectures used for interconnecting processor, memory, and I/O units. Finally, it also provides details of multiprocessor system architectures, which use multiple processors and memory units to form powerful computer systems.

    BASIC FUNCTIONS OF A COMPUTER

    All computer systems perform the following five basic functions for converting raw input data into useful information and presenting it to a user:
    1. Inputting. It is the process of entering data and instructions into a computer system.
    2. Storing. It is the process of saving data and instructions to make them readily available for initial or additional processing as and when required.
    3. Processing. Performing arithmetic operations (add, subtract, multiply, divide, etc.), or logical operations (comparisons like equal to, less than, greater than, etc.) on data to convert them into useful information is known as processing.
    4. Outputting. It is the process of producing useful information or results for a user, such as printed report or visual display.
    5. Controlling. Directing the manner and sequence in which the above operations are performed is known as controlling.

    BASIC COMPUTER ORGANIZATION

    Even though the size, shape, performance, reliability, and cost of computers have been changing over the last several years, the basic logical structure (based on stored program concept), as proposed by Von Neumann, has not changed.
    Figure 4.1
  • Book cover image for: Dissecting Computer architecture
    • Alvin Albuero De Luna(Author)
    • 2023(Publication Date)
    • Arcler Press
      (Publisher)
    CLASSIFICATION OF Computer Architecture 2 CONTENTS 2.1. Introduction ...................................................................................... 50 2.2. Von-Neumann Architecture............................................................... 50 2.3. Harvard Architecture......................................................................... 53 2.4. Instruction Set Architecture ............................................................... 56 2.5. Microarchitecture ............................................................................. 71 2.6. System Design .................................................................................. 78 References ............................................................................................... 81 CHAPTER Dissecting Computer Architecture 50 2.1. INTRODUCTION The architecture of computer systems is comprised of the laws of mathematics as well as methodologies and procedures that describe how computer systems have been constructed and function. Architecture has been designed to meet the demands of the consumer while also including economic and budgetary restrictions. Previously, architecture was designed upon paper and implemented as hardware (Hwang and Jotwani, 1993). The architecture is created, tested, and produced in hardware form once the transistor-transistor logic has been built in. The productivity, efficiency, dependability, and expense of a computer system may all be used to characterize Computer Architecture. It is concerned with technological standards for hardware or software. The CPU, memory, Input/output devices, and channels of communication that link to it (Loo, 2007; Shaout and Eldos, 2003). The several types of Computer Architecture are discussed in further sections. 2.2. VON-NEUMANN ARCHITECTURE John von Neumann is the author of such a design proposal. Modern computers, such as those we use today, are built on the von-Neumann architecture.
  • Book cover image for: Modern Computer Architecture and Organization
    • Jim Ledin, Dave Farley(Authors)
    • 2022(Publication Date)
    • Packt Publishing
      (Publisher)

    1

    Introducing Computer Architecture

    The architectures of automated computing systems have evolved from the first mechanical calculators constructed nearly two centuries ago to the broad array of modern electronic computer technologies we use directly and indirectly every day. Along the way, there have been stretches of incremental technological improvement interspersed with disruptive advances that drastically altered the trajectory of the industry. We can expect these trends to continue in the coming years.
    In the 1980s, during the early days of personal computing, students and technical professionals eager to learn about computer technology had a limited range of subject matter available for this purpose. If they had a computer of their own, it was probably an IBM PC or an Apple II. If they worked for an organization with a computing facility, they might have used an IBM mainframe or a Digital Equipment Corporation VAX minicomputer. These examples, and a limited number of similar systems, encompassed most people’s exposure to the computer systems of the time.
    Today, numerous specialized computing architectures exist to address widely varying user needs. We carry miniature computers in our pockets and purses that can place phone calls, record video, and function as full participants on the internet. Personal computers remain popular in a format outwardly similar to the PCs of past decades. Today’s PCs, however, are orders of magnitude more capable than the early generations in terms of computing power, memory size, disk space, graphics performance, and communication ability. These capabilities enable modern PCs to easily perform tasks that would have been inconceivable on early PCs, such as the real-time generation of high-resolution 3D images.
  • Book cover image for: Computer Architecture Technology Trends
    • Architecture Technology Corpor(Author)
    • 2013(Publication Date)
    • Elsevier Science
      (Publisher)
    Computer Architecture Technology Trends 3. System Architecture The categorization of 'systems' requires descriptors beyond those proposed by Flynn for machine architectures in order to present the many potential variations. One way to view system implementations is by the degree of decentralization evident within them. Enslow 23 categorizes computer systems in terms of three dimensions, as shown in Figure 18. o II * c V « 03
  • Book cover image for: Computer Systems Performance Evaluation and Prediction
    • Paul Fortier, Howard Michel(Authors)
    • 2003(Publication Date)
    • Digital Press
      (Publisher)
    2 Computer Data Processing Hardware Architecture This chapter defines the hardware and software components used in computer-based applications. Included here is the fundamental composition of computers (CPU, memory, I/O), secondary storage devices, other peripheral input and output devices, multiprocessing architectures, and networks. Our discussions are tailored to focus on the architecture and use of these components as they relate to computer management of persistent data. 2.1 Introduction A computer-based application resides on a computer system. The computer system provides the physical medium on which the application data are stored and the processing capacity to manipulate stored data. A processing unit of a computer system consists of five main elements: the memory, an arithmetic logic unit, an input unit, an output unit, and a control element. The memory unit stores both the data for programs and the instructions of a program that manipulates stored data. The program’s individual elements or instructions are fetched from the memory one at a time and are interpreted by the control unit. The control unit, depending on the interpretation of the instruction, determines what computer operation to perform next. If the instruction requires no additional data, the control indicates to the arithmetic logic unit what operation to perform and with what registers. (See Figure 2.1.) Figure 2.1 Basic processing unit of a computer. If the instruction requires additional data, the control unit passes the appropriate command to the memory (MAR, memory address register) to fetch a data item from memory (MDR, memory data register) and to place it in an appropriate register in the ALU (data register bank) (Figure 2.2). This continues until all required operands are in the appropriate registers of the ALU. Once all operands are in place, the control unit commands the ALU to perform the appropriate instruction—for example, multiplication, addition, or subtraction
  • Book cover image for: Systems Architecture
    OVERVIEW This chapter lays the foundation for the book with a background discussion of automated computation, the key functions of a computer, and a brief overview of computer, software, and network components. Each component is described in detail in later chapters. Avoid the temptation to rush through this chapter because it’s as important to know how all of a computer system’s components interrelate as it is to know their internal workings. AUTOMATED COMPUTATION A simple definition of a computer is any device that can do the following: • Accept numeric inputs • Perform computational functions, such as addition and subtraction • Communicate results This definition captures a computer’s basic functions, but it can also apply to people and simple devices, such as calculators. These functions can be implemented by many tech-nologies and devices. For example, a modern computer might perform computation elec-tronically (using transistors in a microprocessor), store data optically (using a laser and an optical disc’s reflective coating), and communicate with people by using a combination of electronics and mechanics, such as the mechanical and electrical components of a printer. C H A P T E R 2 INTRODUCTION TO SYSTEMS ARCHITECTURE L E A R N I N G O B J E C T I V E S After studying this chapter, you should be able to: • Discuss the development of automated computing • Describe the general capabilities of a computer • Describe computer hardware components and their functions • List computer system classes and their distinguishing characteristics • Describe the components and functions of computer networks • Define the roles, functions, and layers of application and system software Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.