You are on page 1of 30

Jan 10, 2024

Lecture 1 Introduction
CSS224 – Computer Architectures

Outline
• What is a computer?
• Computer evolution
• Computer performance
• Course overview
• Schedule
• Evaluation
Jan 10, 2024

Lecture 1 Introduction
CSS224 – Computer Architectures

Outline
• What is a computer?
• Computer evolution
• Computer performance
• Course overview
• Schedule
• Evaluation
Computers
• What is a computer ?
• An electronic device which is capable of receiving information
(data) in a particular form and of performing a sequence
of operations in accordance with a predetermined but
variable set of procedural instruction (program) to produce a
result in the form of information or signals (Oxford
Dictionary).
• A device that can be instructed to carry out an arbitrary set
of arithmetic or logical operations automatically. Their ability
to follow a sequence of operations, called a program, make
computers very flexible and popular. Such computers are used
as control systems for a very wide variety of industrial
and consumer devices (Wiki).

• Find the keywords! 1).............................. 2)……….………..…….…


2
Computers
A computer is a general purpose device that can be programmed
to process information, and yield meaningful results.

Information

Computer Results

Program

3
Computers

Look around and find some more computers!

4
Computers

• Broadly speaking, computers are used in three different


classes of applications.
• Personal computers  the best known form of computing,
for single users at low cost.
• Servers  much larger computers, and usually accessed
only via a network. Servers are oriented to carrying large
workloads.
• Embedded computers  the largest class of computers,
span the widest range of applications and performance.
Most users never really see that they are using a
computer!
Can you find them?
5
Computers
• Hardware  computers
• System software - > Not nessisary
but
really helpful to
have

• Operating systems, e.g., Windows, Linux, iOS


• Handling basic input and output operations
• Allocating storage and memory
• Providing for protected sharing of the
computer among multiple applications
• Compilers, e.g., C/C++, Java, Python
translation of a program written in a high-
level language into instructions that the
hardware can execute.
• Application Software  Microsoft Office, games,
adobe acrobat, … you name it!
6
Computers

*
Basically, computers
understand only “1”
(On) and “0” (Off)
 Binary

We will talk more about


this later. *

7
Computers

The five classic components of a


computer are
• input,
• output,
• memory,
• datapath, and
• control unit

 The last two are sometimes


combined and called the
processor or Central Processing
Unit (CPU).
8
Computers
• Input: received signals
• Output: sent signals
• Memory is where the programs
are kept when they are running;
it also contains the data needed
by the running programs.
• Datapath performs data
processing operations, e.g.,
arithmetic and logic operations.
• Control Unit tells the datapath,
memory, and I/O devices what to
do according to the wishes of the
instructions of the program.
9
Computer Evolution

• Early counting tools

Abacus Napier’s bones

• +, -, x, ÷
• Are they computers? ...........
Why?………………………………….

Pascaline
10
Computer Evolution

• Implementation of electronic computers  vacuum tubes,


transistors
• They are on/off switches controlled by electric signals.

Vacuum tube Transistor (1954)

MOS transistor 11
Computer Evolution
• 1st Generation (1940 – 1956)
• They used vacuum tubes.
• Very huge fitting an entire room, the processing speed was
very slow.
• Very difficult to program and resolve errors.
• Very expensive to operate, consumed a lot of electric
power, generated a lot of heat  malfunctions.
• Only Machine level or Assembly language was used.
• ENIAC and UNIVAC

12
Computer Evolution
• 2nd Generation (1956 – 1963)
• They used transistors in place of vacuum tubes (more
reliable, smaller, cheaper).
• More computing power, easier to maintain, and more
affordable than the previous generation.
• The development of high-level languages, such as
FORTRAN, COBOL, ALGOL and SNOBOL, took place
during this generation.
• IBM 1401(1958), IBM 1620(1960), IBM 7090(1960), IBM
7094(1961), IBM 7094I(1962), IBM 7094 II (1964),
Control Data Corporation’s CDC 1604(1961), CDC
3600(1964), Digital data corporation’s PDP 1 (1957), PDP
5 (1963), PDP 8 (1965), UNIVAC 1108(1965) 13
Computer Evolution
• 3rd Generation (1964 – 1971)
• They used integrated circuits  The transistors were
further reduced in size and kept on silicon chips called
semi-conductors, which increased the speed and efficiency
of computers ~ 100 transistors/chip.
• Instead of punched cards and printouts, users interacted
with third generation computers through keyboards and
monitors.
• Operating systems were introduced. They can run different
applications at one time.
• IBM/370 series (1970), CDC 7600 (1969), PDP 11(1970),
ICL-2900 series (1968), Honeywell 6000 series, CYBER-
175, STAR-100 14
Computer Evolution
• 4th Generation (1972 – present)
• The Intel Corporation engineer, Dr. Ted Hoff, invented the
Intel 4004. It was the world’s first microprocessor.
• The microprocessor brought the fourth generation of
computers, as thousands of integrated circuits were built
onto a single silicon chip.
• Rapid improvements in the chip technology  increasing
the number of transistors on a single chip.
• 5th Generation (present and beyond)
• Working on the concept of Artificial Intelligence (AI).
• The goal is to develop devices that respond to natural
language inputs and are capable of learning and self-
organization. 15
Computer Evolution
Generation Evolution
1st 1940-1956: Vacuum tube based
2nd 1956-1963: Transistor based
3rd 1964-1971: Integrated Circuit based  MSI
4th 1972-present: VLSI microprocessor based
5th Onwards: ULSI microprocessor based

Integration Level Number of Transistors / Chip


Small scale integration (SSI) < 100
Medium scale integration (MSI) 100 – 1,000
Large scale integration (LSI) 1,000 – 100,000
Very large scale integration (VLSI) > 100,000
Ultra large scale integration (ULSI) > 1,00,000
16
Computer Evolution
A 12-inch (300 mm) wafer of
Intel Core i7 (Courtesy Intel).
• The number of dies on
this 300 mm (12 inch)
wafer at 100% yield is
280, each 20.7 by 10.5
mm.
• The dies use a 32-
nanometer technology,
which means that the
smallest features are
approximately 32 nm in
size which refers to the
size of the transistors.
die = chip 17
Computer Evolution
• Moore’s Law: prediction made by Gordon Moore in 1965 that
the number of transistors per silicon chip doubles every two
years.

https://semiconductor.substack.com/p/the-relentless-pursuit-of-moores 18
Computer Evolution
• Microcomputer: a small, single-user computer based on a
microprocessor, also known as a personal computer (PC).
• Workstation: a powerful, single-user computer. A workstation is
like a personal computer, but it has a more powerful
microprocessor for engineering applications like CAD/CAM.
• Minicomputer: a multi-user computer capable of supporting up
to hundreds of users, designed for computerization of data.
• Mainframe: a powerful multi-user computer capable of
supporting many hundreds or thousands of users for
maintaining huge amount of data, e.g., ATM transactions,
financial transactions, clients and employees’ records.
• Supercomputer is a broad term for one of the fastest computers
currently available for scientific research.
19
Performance
• Execution time or response time = the time between the start
and completion of a task
• Throughput or Bandwidth = the total amount of work done in
a given time.
MIPS = million instructions per second.
FLOPS = floating point operations per second

Cycles/second
Q: How to improve a CPU’s performance?
20
Performance
• We measure computer performance by measuring the
execution time of a program of interest or measuring the total
execution time of a collection of programs  benchmark.
• Clock cycles per instruction (CPI) is the average number of
clock cycles each instruction takes to execute.
NOTE: different instructions may take different amounts of
time (different numbers of clock cycles).

1
𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 𝑇𝑖𝑚𝑒 = # 𝑜𝑓 𝐼𝑛𝑠𝑡𝑟𝑢𝑐𝑡𝑖𝑜𝑛𝑠 × 𝐶𝑃𝐼 ×
𝐶𝑙𝑜𝑐𝑘 𝑅𝑎𝑡𝑒

NOTE: Execution time = CPU execution time = CPU time => Performance
21
Performance
Example: Suppose we have two implementations of the same
instruction set architecture. Computer A has a clock cycle time of
250 ps and a CPI of 2.0 for some program, and computer B has a
clock cycle time of 500 ps and a CPI of 1.2 for the same program.
Which computer is faster for this program and by how much?

22
Course Overview

What is Computer Architecture?


• The science and art of selecting and interconnecting
hardware components to create a computer that meets
functional, performance and cost goals.
• A set of rules and methods that describe the
functionality, organization, and implementation of
computer systems

Instruction Set Architecture (ISA) = The abstract model of a


computer that defines how the CPU is instructed and
controlled by the software.

 ISA is the programmer’s abstraction of a computer.


23
Course Overview

24
Course Overview
• Computer Architecture vs Computer Organization
• Computer Architecture refers to attributes of a system
visible to a programmer or those that have a direct impact
on the logical execution of a program.
• Computer Organization refers to the operational units and
their interconnections that realize the architectural
specifications.
Example:
• Architectural attributes include the instruction set, the
number of bits used to represent data types, I/O mechanisms,
and techniques for addressing memory.
• Organizational attributes include hardware details, such as
control signals; interfaces between the computer and
peripherals; and the memory technology used.
25
Course Overview
• Course Description
Combinational logic. Computer evolution. Conventional
computer architectures. CPU and ALU structures and design.
Instruction sets. Hardwired and microprogrammed control.
Pipelining. Array and vector processors. Multiprocessor
systems. Memory organizations. Cache memory. I/O
organizations.
• Goals:
• What a computer is
• Components of computers and how they work
• How computers are organized
• What is the link between hardware and software
• How programs work
• How architecture design affects program performance
26
Schedule

Week 1: Introduction
Week 2: Digital logic: digital and binary, Boolean algebra, logic
gates, combinational and sequential logic circuits.
Week 3: Data representation in computer systems: numbers
Week 4: CPU: components, stored program model, von
Neumann architecture, ISA, microprogram
Week 5: ALU & ISA: CISC vs RISC, ARM architecture and
instructions.
Week 6: Memory space: data & program memory, addresses,
data width, von vs Harvard, addressing modes
Week 7: Data processing and transfer, assignment
announcement
27
Schedule

Week 8: Memory hierarchy: register, cache, main memory,


magnetic, optical
Week 9: CPU interrupts/exceptions
Week 10: Inputs/outputs: memory mapped & isolated IOs, DMA
Week 11: Pipelining and hazards
Week 12: Single and multicycle instructions
Week 13: Instruction level parallelism
Week 14: Multicores and multiprocessors, assignment
submission due date
Week 15: Vector processors, course conclusion

28
Evaluation

• Quizzes : 15%
• An assignment : 25% (teamwork, 4-5 members)
• Midterm exam : 25% (closed book, no calculator)
• Final exam : 35% (closed book, no calculator)

29

You might also like