top of page

Computer Architecture

Course Outline

​

I. Introduction to Computer Architecture


A. Importance and Applications of Computer Architecture
B. Brief History of Computer Architecture
C. Overview of Computer Systems


II. Computer Organization and Design
A. Basic Organization of Computer Systems
B. Structure and Function of Major Components
C. Von Neumann Architecture
D. Introduction to Hardware, Software, and Firmware


III. Data Representation and Instruction Set Architecture (ISA)
A. Digital Logic and Boolean Algebra
B. Binary Arithmetic and Number Systems
C. Machine Language and Assembly Language
D. Instruction Set Architecture and its Role


IV. Central Processing Unit (CPU) Architecture
A. Basic CPU Structure and Functions
B. Control Unit and Arithmetic Logic Unit (ALU)
C. Pipelining and Superscalar Architectures
D. Modern Microprocessor Architectures


V. Memory and Storage
A. Overview of Memory Hierarchy
B. Registers, Cache, Main Memory (RAM), Secondary Storage
C. Virtual Memory and Memory Management
D. Solid-State Drives and Hard Disk Drives


VI. Input/Output (I/O) Systems and Peripherals
A. Introduction to I/O Devices and Interfaces
B. DMA (Direct Memory Access)
C. Buses and Communication Channels
D. Modern I/O Technologies
VII. Parallel and Distributed Systems

css
Copy code
A. Principles of Parallelism and Concurrency
B. Multicore and Multiprocessor Systems
C. Cluster Computing, Grid Computing, and Cloud Computing
D. GPU Architecture and Applications


VIII. Performance Analysis and Design Trade-offs
A. Introduction to Benchmarking and Performance Metrics
B. Power, Energy, and Heat in System Design
C. Dependability and Fault Tolerance
D. Computer Architecture Trends and Challenges


IX. Advanced Topics (Optional)
A. Quantum Computing Fundamentals
B. Neuromorphic Computing
C. Introduction to VLSI Design
D. Architecture for Machine Learning and AI

 I. Introduction to Computer Architecture

​

We will discuss the importance of computer architecture, provide a brief historical overview, and give an introduction to computer systems.

​

A. Importance and Applications of Computer Architecture

Computer architecture is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance, and cost goals. It is fundamental to the development of effective computing systems, ranging from personal computers to supercomputers.

 

Understanding computer architecture is crucial for several reasons:

Performance: With the knowledge of computer architecture, we can design hardware and software that work together to optimize performance.

​

Software Design: It provides software engineers with a better understanding of the resources and limitations of the hardware, helping them write more efficient code.

​

Hardware Design: It enables hardware engineers to understand the needs of software and users, to create hardware that meets those needs.

​

Applications of computer architecture span several fields, including computer engineering, computer science, information technology, and more. Any job that involves the design, evaluation, or use of computers can benefit from an understanding of computer architecture.

​

B. Brief History of Computer Architecture

​

The concept of computer architecture has evolved significantly over the years:

  • First Generation (1940-1956) - Vacuum Tubes: The first computers used vacuum tubes for circuitry and magnetic drums for memory. They were enormous and extremely expensive. An example is the ENIAC computer.

  • Second Generation (1956-1963) - Transistors: Transistors replaced vacuum tubes and ushered in the second generation. Transistors made computers smaller, faster, and more reliable. IBM's 7000 series is an example of second-generation computers.

  • Third Generation (1964-1971) - Integrated Circuits: The development of the integrated circuit was the hallmark of the third generation of computers. Transistors were miniaturized and placed on silicon chips, called semiconductors. The IBM System/360 is an example of this generation.

  • Fourth Generation (1971-Present) - Microprocessors: The microprocessor brought the fourth generation of computers. Thousands of integrated circuits were built onto a single silicon chip. Intel's 4004 chip was one of the first microprocessors, and the introduction of the personal computer (PC) was a major milestone during this period.

  • Fifth Generation (Present and Beyond) - Artificial Intelligence: Fifth-generation computing devices are about artificial intelligence and are still in development, although there are some applications, such as voice recognition, currently being used.

  • ​

C. Overview of Computer Systems

​

At the highest level, a computer consists of the central processing unit (CPU), memory, and input/output devices (I/O). These components are interconnected by a system bus and powered by a power supply.

Central Processing Unit (CPU): Also known as the processor, the CPU is the "brain" of the computer. It interprets and carries out the basic instructions that operate a computer.

​

Memory: This is where the computer stores data that it is currently using.

​

Input/Output (I/O) Devices: These allow the computer to communicate with the outside world. Input devices bring data into the computer and output devices get data out of the computer.

In our next lecture, we will explore the design and organization of these systems and their components, starting with the Von Neumann Architecture.

II. Computer Organization and Design

​

 We'll be delving into the basic organization and design of computer systems, covering the structure and function of major components, the Von Neumann architecture, and the interplay between hardware, software, and firmware.

​

A. Basic Organization of Computer Systems

​

At a high level, a computer system can be organized into four main components:

Input Unit: This is where data and instructions are fed into the computer, typically through devices like keyboards and mice.

​

Central Processing Unit (CPU): Also known as the "brain" of the computer, the CPU is responsible for executing instructions. It has two main components - the Control Unit (CU) and the Arithmetic Logic Unit (ALU). The CU controls and coordinates other parts of the computer while the ALU performs arithmetic and logical operations.

​

Memory Unit: This is where data and instructions are stored temporarily while processing is occurring. It's often referred to as primary or main memory.

​

Output Unit: This is where the results of the computations are displayed or sent to other devices or systems, typically through devices like monitors or printers.

​

B. Structure and Function of Major Components

​

Each component of a computer has a crucial role to play:

  • CPU: As mentioned earlier, the CPU executes instructions and coordinates activities among all the hardware devices. Modern CPUs contain multiple processing cores, which are capable of executing instructions independently of each other.

  • Memory: The memory stores both the data and the instructions required by the CPU. In modern computers, memory is split into volatile memory (RAM), which is fast but loses information when power is lost, and non-volatile memory (like SSDs or hard drives), which is slower but retains information even when powered off.

  • I/O Devices: Input devices, like keyboards, mice, and cameras, allow users to input data or commands into the computer. Output devices, like monitors, speakers, and printers, allow the computer to output data to the user or to other systems.

 

C. Von Neumann Architecture

​

Proposed by John von Neumann, the Von Neumann architecture is the basis for most modern computers. It's comprised of four main parts:

  1. Memory: Stores both instructions (program) and data.

  2. Arithmetic Logic Unit (ALU): Performs arithmetic and logical operations.

  3. Control Unit (CU): Controls and coordinates the operations of the computer.

  4. Input/Output (I/O) Mechanisms: Handles communication to and from the computer.

​

One key feature of the Von Neumann architecture is that it uses a single control structure (the CU) and a single data path (the system bus) to access both the memory and the I/O devices. This is sometimes called the Von Neumann bottleneck because the speed of a program's execution is limited by the rate at which the single bus can transmit data.

​

D. Introduction to Hardware, Software, and Firmware

​

Hardware: These are the physical components of the computer, such as the CPU, memory, and I/O devices.

​

Software: These are the programs and data that run on the computer hardware. Software can be divided into system software (like operating systems) which manage the hardware, and application software (like word processors and web browsers) which perform tasks for the user.

bottom of page