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

6 Key excerpts on "Computer Architecture"

  • 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.
  • 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.
  • 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
  • Microelectronics
    eBook - ePub
    • Jerry C. Whitaker(Author)
    • 2018(Publication Date)
    • CRC Press
      (Publisher)
    16 Fundamental Computer Architecture Joy S. Shetler 16.1  Introduction 16.2  Defining a Computer Architecture 16.3  Single Processor Systems 16.4  Multiple Processor Systems 16.5  Memory Hierarchy 16.6  Implementation Considerations
    Packaging Considerations •  Technology Considerations •  Wafer Scale Integration (WSI) •  Multichip Modules (MCMs)
    16.1  Introduction
    The design space for computer architectures is fairly diverse and complicated. Each new architecture strives to fulfill a different set of goals and to carve out a niche in the computer world. A system can be composed of one or several processors. Many concepts apply to both multiple processor and single processor systems. Many researchers have concluded that further advances in computational speed and throughput will come from parallelism rather than relying heavily on technological innovation, as has occurred in the past. But implementation is still an important consideration for any computer system.
    16.2  Defining a Computer Architecture Some important attributes of a computer system are as follows: •  Structure of the control path(s) •  Structure of the data path(s) •  The memory organization •  The technology used in the implementation •  The number of clocks, that is, single clocked or dual clocked •  The clock speed(s) •  The degree of pipelining of the units •  The basic topology of the system •  The degree of parallelism within the control, data paths, and interconnection networks
    FIGURE 16.1 Block diagram of a single processor system.
    In some cases, the algorithms used to execute an instruction are important as in the case of data flow architectures or systolic arrays. Some of these attributes are dependent on the other attributes and can change depending on the implementation of a system. For example, the relative clock speed may be dependent on the technology and the degree of pipelining. As more diverse and complicated systems are developed or proposed, the classification of a Computer Architecture becomes more difficult. The most often cited classification scheme, Flynn’s taxonomy (Flynn, 1966) defined four distinct classes of Computer Architectures: single instruction, single data (SISD), single instruction, multiple data (SIMD), multiple instruction, single data (MISD), and multiple instruction, multiple data
  • 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.
  • Digital Interface Design and Application
    • Jonathan A. Dell(Author)
    • 2015(Publication Date)
    • Wiley
      (Publisher)
    1 Review of Digital Electronics and Computer Architecture
    This chapter will focus on the operation of basic logic elements, which should be familiar to most readers, such as flip/flops and registers that form the basic building blocks for interface elements. It will also cover the issue of address decoding to enable these elements through a programme statement and provide an introduction to the ARM architecture and its built-in peripherals. Finally the linkage between C and low-level assembler code will be shown through a simple example.

    1.1 Embedded Systems

    Embedded systems take many different forms but all rely on some computing processor whether it has a physical interface with the outside world like the keyboard and screen of a typical PC, the physical connections forming a communication network or specialised sensor and actuator hardware to control an automated machine. The other essential element of any system making use of a computer is its controlling program and in fact most embedded system component vendors provide integrated development systems or environments (IDE) that run on a PC to facilitate the software development. Interface design requires careful assessment of both the hardware and software requirements so that when the objectives are considered the most effective solution can be achieved. In summary, we can say that an embedded system is computerised and tailor-made for a particular application.

    1.1.1 Processor Architecture (Revision)

    It is important to have a clear understanding of the processor architecture so that the integration of interface peripherals can be appreciated. The fundamental hardware architecture of the computing element will be examined briefly to show where interface components of any variety link up. Figure 1.1
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.