CT 121 Group 5 Computer Architecture 1-1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 52

THE UNIVERSITY OF DODOMA

COLLEGE OF INFORMATICS AND VIRTUAL


EDUCATION
CYBER SECURITY AND DIGITAL FORENSIC

Abdulmalik M. Akili T23-02-19561


Khatib J. Mdharuba T23-02-07902
Jons Elikana T23-02-07936
Careen Titus Alex T23-02-19558
Introduction to
Computer Organization
and
Architecture
C T 1 2 1 - L e c t u re 1
Contents
1. Historical Perspective of Computer Architecture
2. Computer Architecture Generations
3. Computer Architecture Main Events
4. Types of Computer Architecture
5. Structure of Computer Architecture
6. Computer Organization
7. Differences between Computer Architecture and
Computer Organization
Computer architecture can be defined as a set of rules and methods that describe the functionality, management and
implementation of computers. To be precise, it is nothing but rules by which a system performs and operates.

Computer Organization refers to the way in which the hardware components of a computer system are arranged and
interconnected. It implements the provided computer architecture and covers the "How to do?" part
Historical Perspective of Computer Architecture
Certainly! Here's a historical perspective on computer architecture and devices:
**Early Computers (1940s-1950s):**
- The first general-purpose electronic computers, such as ENIAC and UNIVAC I, were large, room-sized machines that
used vacuum tubes for processing and data storage.
- They were primarily used for scientific and military applications, requiring specialized programming and operation.
- Computer architecture was focused on improving processing speed, reliability, and input/output capabilities.
Historical Perspective of Computer Architecture
**Transistor Era (1950s-1960s):**
- The invention of the transistor in 1947 revolutionized computer design, leading to smaller, more reliable, and more
energy-efficient machines.
- Computers like the IBM 700/7000 series and the CDC 6600 introduced concepts like pipelining, multiprogramming,
and parallel processing to enhance performance.
- Computer architecture shifted towards developing more sophisticated control units, memory hierarchies, and
input/output systems.
Historical Perspective of Computer Architecture
**Integrated Circuits and Minicomputers (1960s-1970s):**
- The integration of transistors into single silicon chips (integrated circuits) allowed for the creation of smaller, more
powerful computers.
- Minicomputers, such as the Digital Equipment Corporation (DEC) PDP-8 and PDP-11, became popular in scientific,
educational, and business environments.
- Computer architecture focused on optimizing instruction sets, developing more efficient memory management, and
supporting real-time operating systems.
Historical Perspective of Computer Architecture

**Personal Computers (1970s-1980s):**


- The introduction of microprocessors, such as the Intel 8080 and Motorola 68000, enabled the development of affordable
personal computers for home and office use.
- Iconic machines like the Apple II, Commodore PET, and IBM PC revolutionized the way people interacted with
computers.
- Computer architecture evolved to support user-friendly interfaces, graphics, and multimedia capabilities.
**Modern Computing (1980s-present):**
- Rapid advancements in semiconductor technology, leading to more powerful, smaller, and energy-efficient processors
(e.g., x86, ARM).
- Emphasis on multicore processors, virtualization, cloud computing, and mobile devices.
- Computer architecture focuses on improving energy efficiency, parallel processing, and supporting emerging
technologies like artificial intelligence, Internet of Things, and quantum computing.
Historical Perspective of Computer Architecture
Historical Perspective of Computer Architecture
Computer Architecture Generations
Certainly, let's go through the different generations of computer architecture:
1. First Generation (1940s-1950s):
- Characterized by the use of vacuum tubes as the primary electronic component.
- Examples: ENIAC, UNIVAC I, IBM 701.
- Computers were large, expensive, and required significant power and cooling.
- Programming was done using machine language, which was difficult and time-consuming.
Computer Architecture Generations
2. Second Generation (1950s-1960s):
- Characterized by the use of transistors instead of vacuum tubes.
- Examples: IBM 650, IBM 704, TRADIC.
- Computers became smaller, more reliable, and more energy-efficient.
- Programming languages, such as FORTRAN and COBOL, were developed, making programming more accessible.
Computer Architecture Generations
3. Third Generation (1960s-1970s):
- Characterized by the use of integrated circuits (ICs) or microchips.
- Examples: IBM System/360, DEC PDP-8, IBM System/370.
- Computers became smaller, more powerful, and more affordable.
- Operating systems and time-sharing capabilities were introduced, enabling multiple users to access the same
computer.
Computer Architecture Generations
4. Fourth Generation (1970s-1980s):
- Characterized by the use of microprocessors, which integrated multiple components on a single chip.
- Examples: Intel 8080, Motorola 68000, Intel 8086.
- Personal computers (PCs) became widely available, and the era of the desktop computer began.
- High-level programming languages, such as C and Pascal, were developed, making programming more accessible.
Computer Architecture Generations
5. Fifth Generation (1980s-1990s):
- Characterized by the use of very-large-scale integration (VLSI) technology, which allowed for the integration of
millions of transistors on a single chip.
- Examples: Intel 80386, Motorola 68030, SPARC.
- Computers became more powerful, with the introduction of graphical user interfaces (GUIs) and the widespread use
of personal computers.
- Artificial intelligence (AI) and parallel processing became areas of focus in computer architecture.
Computer Architecture Generations
6. Sixth Generation (1990s-2000s):
- Characterized by the use of multi-core processors, which integrate multiple processor cores on a single chip.
- Examples: Intel Core 2 Duo, AMD Athlon 64 X2, Intel Pentium 4.
- Computers became more powerful, energy-efficient, and capable of handling more complex tasks.
- The rise of the internet and the widespread adoption of mobile devices had a significant impact on computer
architecture.
Computer Architecture Generations
7. Seventh Generation (2000s-present):
- Characterized by the use of multicore and manycore processors, as well as the integration of graphics processing units
(GPUs) and other specialized hardware.
- Examples: Intel Core i7, AMD Ryzen, Apple M1 chip.
- Computers became more powerful, energy-efficient, and capable of performing a wide range of tasks, from general-
purpose computing to specialized applications like machine learning and high-performance computing.
- The integration of cloud computing, the internet of things (IoT), and mobile devices has become a prominent feature
of seventh-generation computer architecture.
Computer Architecture Generations
Each generation of computer architecture has brought significant advancements in terms of performance, power
efficiency, and accessibility, leading to the ubiquity of computers in our modern world.
Computer Architecture Main Events
The main Purposes of Computer Architecture is to balance the performance, efficiency, cost, Realiability and Security of
a computer system, as follow

1. Performance Optimization:
- Computer architecture aims to design systems and components that can achieve the highest possible performance in
terms of speed, throughput, and responsiveness.
- This involves optimizing the design of the CPU, memory, and input/output (I/O) subsystems to minimize bottlenecks
and maximize overall system efficiency.
Computer Architecture Main Events
2. Cost Reduction:
- Computer architecture seeks to develop cost-effective designs that balance performance, power consumption, and
manufacturing costs.
- This includes techniques like designing efficient processor pipelines, leveraging commodity hardware components,
and optimizing memory and storage hierarchies.
Computer Architecture Main Events
3. Security and Privacy:
- With the growing importance of cybersecurity, computer architecture considers the integration of security features and
mechanisms to protect against malicious attacks, data breaches, and unauthorized access.
- This includes techniques like hardware-based security, secure enclaves, and the implementation of secure
communication protocols.
Computer Architecture Main Events
4. Power Efficiency:
Computer architecture focuses on designing systems that consume minimal power
This includes techniques like low-power processor design, dynamic power management.

5. Reliability and Fault Tolerance:


Computer architecture aim to ssolve hardware failures, software errors, and other types of faults.
This includes techniques like redundancy, error detection and correction
Types of Computer Architecture
Major Types of Computer Architecture and Their Characteristics

Von Neumann Architecture is named after its inventor, John von Neumann, and has been the foundation for most
computer systems since the 1940s.

The key characteristics of Von Neumann Architecture are:


i. A shared memory system that stores both instructions and data, enabling easier implementation and self-modifying
code but potentially leading to the "Von Neumann bottleneck" due to bandwidth limitations.
Types of Computer Architecture
ii. A single data bus and a single address bus, where instructions and data share the same communication path, resulting
in the system fetching one item at a time.
iii. A sequential execution model, where instructions are executed one after another, in a linear fashion.

Despite its limitations, Von Neumann Architecture remains popular due to its simplicity and ease of implementation.
Types of Computer Architecture
Harvard Architecture
Harvard Architecture, in contrast to Von Neumann Architecture, uses separate memory units and buses for storing and
handling instructions and data.
This results in distinct advantages, such as:
i. Enhanced parallelism, as instructions and data can be fetched simultaneously, improving the system's overall
performance
Types of Computer Architecture
ii. Elimination of the Von Neumann bottleneck, as separate memory systems reduce contention for memory bandwidth
iii. Increased security, as the isolation of instruction memory from data memory prevents unauthorized modification or
reading of program code.
Harvard Architecture is commonly found in microcontrollers and Digital Signal Processors (DSPs), where speed and
efficiency are crucial factors.
Types of Computer Architecture
RISC and CISC Architectures
RISC (Reduced Instruction Set Computer) and CISC (Complex Instruction Set Computer) architectures represent two
contrasting approaches to processor design and instruction set architecture.
Key differences between RISC and CISC include:

RISC (Reduced Instruction Set Computer) Architecture:


Employs a small, highly optimized set of instructions, which simplifies the processor design and enables higher clock
speeds and better performance per watt.
Types of Computer Architecture
Key differences between RISC and CISC ...

CISC (Complex Instruction Set Computer) Architecture:


Uses a more extensive and complex instruction set, with the goal of reducing the number of instructions required to
perform a task, which can simplify programming but increase processor complexity.

Both RISC and CISC architectures have their respective strengths and weaknesses, making them suitable for different
applications and system requirements.
Structure of Computer Architecture
.
Structure of Computer Architecture
Parts of Computer Architecture
The computer architecture in general, divided into five main parts, which are as follows −
i. Input devices
ii. Output devices
iii. I / O Ports
iv. CPU and
v. Memory
Parts of Computer Architecture
Let us discuss each component in detail.
Input Device
An input device is a computer hardware which handles input receiving from outside the system. The main function of the
input device is to enter data or give commands by the user into the system.
For example, the input devices are keyboards, mouse, joysticks, scanners, touchpad and many more.
Parts of Computer Architecture
Output devices
Output devices are computer hardware devices which handle output activities. The function of the output device is to
display the results of data processing, as soft copy, hard copy, voice, or video.
For example, the output devices are monitors, printers, speakers, projectors and so on.
Given below in the figure are the output devices −
Parts of Computer Architecture
I/O Ports
I / O Ports are called connectors which are under the control of the processor helpful in handling input and output
activities. Or in other words, this port is used to connect any device that comes from outside the computer, like a printer,
scanner, mouse, or USB. In a computer system this port is present on the back of the CPU while on the laptop the ports
are located on the right and left side.
Parts of Computer Architecture
CPU
The Central Processing unit is computer hardware called the brain of the computer system. Because, the performance of a
computer is determined by the technology and quality of the CPU used.
Generally, there are three types of components in the CPU, which are given below −
Control unit
Register
ALU (Arithmetic Logic Unit)
Parts of Computer Architecture
The control unit controls and regulates the
course of the program. The register is
used to serve as a temporary storage area
for data that is being processed to
continue to the next processing. ALU
performs all arithmetic and logic
operations based on the instructions
given.
Parts of Computer Architecture
Memory
It is a device that functions as a storage medium in a computer system.
There are two types of memory which are characterized as follows −
Volatile called as temporary storage where data is lost when the computer is turned off, and
Non-volatile storage is called permanent storage where data is stored even if the computer is not turned on.
Based on the location, the memory is divided into two parts, namely internal and external memory. This internal memory
is the main memory in a computer system, such as RAM (Random Access Memory) and ROM (Read Only Memory).
External memory is secondary memory like hard disk, USB drive, etc.
Other Parts of Computer Architecture
Control Bus
Control bus is part of a computer system which is helpful to control the use of access to data buses and bus addresses.
In principle, the data channel and address channel are used simultaneously by all components, so that a control bus is
needed to control their use. This control bus is equipped with command signals that specify the operations to be
performed.
Other Parts of Computer Architecture
Address Bus
The address bus relates to the source or destination address on the data bus. It is used to select a memory location or port
to perform write and read operations.
So that all devices connected to the computer system must have an address to be accessed. For example, the CPU will
read a word from memory, and then the CPU will put the data address on the address channel.
Other Parts of Computer Architecture
Data Bus
It is part of a computer system which is the path for the movement of data contained in the computer system module. The
data is transferred from the input device to the CPU or from the CPU to memory or from memory to the output device.
The bus width determines the amount of data that can be transferred at one time. Generally, the data bus consists of 8, 16,
32, 64 or more parallel lines.
Computer Organization

Computer organization explains how a computer works.

The flow of data in computer architecture from input to output involves the acquisition, storage, processing, and
generation of output based on the input received from various devices.
Computer Organization
The flow of data in computer architecture from input to output can be as follows:
1. **Input**:
- Data or instructions are received from input devices, such as a keyboard, mouse, or sensor.
- The input device converts the physical input into digital signals that can be understood by the
computer.
- The digital signals are transmitted to the computer's input interfaces, such as the I/O bus or a
specific input port.
Computer Organization
2. **Data Acquisition**:
- The computer's input interface receives the digital signals and transfers them to the system bus or directly to
the processor (CPU).
- The processor or a dedicated input/output controller (IOC) processes the input data, performing tasks such as
error checking, formatting, and buffering.
Computer Organization
3. **Data Storage**:
- The processed input data may be temporarily stored in the computer's memory (e.g., RAM) for further
processing or long-term storage.
- Depending on the application, the data may also be stored in secondary storage devices, such as hard disk
drives or solid-state drives.
Computer Organization
4. **Data Processing**:
- The CPU fetches the data from memory, decodes the instructions, and executes the necessary operations on the
data.
- The CPU may use the arithmetic logic unit (ALU) to perform arithmetic and logical operations, and the control
unit to coordinate the flow of data and instructions.
Computer Organization
5. **Output Generation**:
- The results of the data processing are sent to the output interface, which may be a bus, port, or dedicated
output controller.
- The output interface converts the digital signals into a format that can be understood by the output device,
such as a display, printer, or speaker.
Computer Organization
6. **Output**:
- The output device receives the digital signals and converts them into a physical output, such as text, images, or
sound.
- The output is then presented to the user or transmitted to another system for further processing or storage.
Computer Organization
This flow of data from input to output is a fundamental aspect of computer architecture, and it is repeated for
various types of input and output devices, as well as for different types of data processing tasks.
Understanding this data flow is crucial for designing and optimizing computer systems, as it helps identify
potential bottlenecks, optimize the use of system resources, and ensure efficient data transfer and processing.
Differences between Computer Architecture and
Computer Organization
Computer architecture provides the functional details and behavior of a computer system. It involves the design of the
instruction set, the microarchitecture, and the memory hierarchy, as well as the design of the hardware and software
components that make up the system.

Computer Organization is to be defined after the decision of the computer architecture. It just provides information that
how operational attributes of a computer system are linked together and help in realizing the architectural specification of
the computer
Differences between Computer Architecture and
Computer Organization
The following table highlights how Computer Architecture is different from Computer Organization −

KEY COMPUTER COMPUTER


ARCHITECTURE ORGANIZATION

Purpose Computer architecture Computer organization


explains what a computer explains how a computer
should do. works.
Target Computer architecture Computer organization
provides functional provides structural
behavior of computer relationships between
system. parts of computer system.
Design Computer architecture Computer organization
deals with high level deals with low level design.
design.
Differences between Computer Architecture and
Computer Organization
.
KEY COMPUTER COMPUTER
ARCHITECTURE ORGANIZATION

Role Computer architecture Computer organization


assists in understanding helps to understand the
the functionality of the exact arrangement of
computer. component of a computer.
Actors Actors in Computer Actor in computer
architecture are hardware organization is
parts. performance.
Order Computer architecture is Computer organization is
designed first. started after finalizing
computer architecture.
Involves Computer architecture Computer organization
involves the relationship involves the relationship
among logical attributes of among physical parts of
Thank You

You might also like