CSS224 Lec1
CSS224 Lec1
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).
Information
Computer Results
Program
3
Computers
4
Computers
*
Basically, computers
understand only “1”
(On) and “0” (Off)
Binary
7
Computers
• +, -, x, ÷
• Are they computers? ...........
Why?………………………………….
Pascaline
10
Computer Evolution
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
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
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
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