Computer Architecture
Faculty of Computer Science & Engineering - HCMUT
Computer Architecture
Binh Tran-Thanh
[email protected]
Copyright/Acknowledgments
▪ The lecture material for this course has been
adapted in part from UC Berkeley (US), Penn
State, Publisher at UB and The Massachusetts
Institute of Technology (M.I.T. US)
15-Aug-21 Faculty of Computer Science and Engineering 2
What is Computer???
▪ “A computer is a data processing machine
which is operated automatically under the
control of a list of instructions (called a
program) stored in its main memory.”
15-Aug-21 Faculty of Computer Science and Engineering 3
Classes of Computers
▪ Personal computers
▪ Embedded computers
▪ Server/Supercomputers
15-Aug-21 Faculty of Computer Science and Engineering 4
Source: internet
Which class does ipad belong to?
15-Aug-21 Faculty of Computer Science and Engineering 5
How about smartphone?
15-Aug-21 Faculty of Computer Science and Engineering 6
Computer Architecture
▪ “Computer architecture refers to those
attributes of a computer system visible to
programmers, or those attributes that have a
direct impact on the logical execution of
programs.”
15-Aug-21 Faculty of Computer Science and Engineering 7
Don't get confused
Source: https://informationq.com
15-Aug-21 Faculty of Computer Science and Engineering 8
Computer Architecture example
1 0
0 1
adder
adder
adder
<<2
zero
4
<<2
Branch
Immediate_26
Jump
Exception Exception
Memwrite
Control handle
MemRead
Opcode,
MemtoReg
ALUop
Rd
EPC ALUsrc
RegDst ALU status
RegWrite
Rs
Rt Register ALU Data
Instruction
0 1
PC files Memory
Memory
0 1
0 1
Rd
Immediate_16
shamt Sign
Function extend ALU
clk control
15-Aug-21 Faculty of Computer Science and Engineering 9
Computer Architecture example Instruction Decode Execute
Instruction Fetch Register Fetch Address Calc. Memory Access Write Back
IF ID EX MEM WB
Next PC
Next SEQ PC Next SEQ PC
Adder
MUX
RS1
Branch
RS2 taken
Register Zero?
File
MEM / WB
EX / MEM
ID / EX
IF / ID
MUX
IR
PC Memory
MUX
Sign Imm ALU
MUX
Extend Memory
Source: https://en.wikipedia.org/wiki/Computer_architecture WB Data
15-Aug-21 Faculty of Computer Science and Engineering 10
Typical Attributes
▪ The instruction set (instruction types and operations)
▪ Basic data representation methods
▪ I/O mechanisms
▪ The basic units in the CPU
▪ Functions of the major components
▪ Instruction execution
▪ Memory organization (memory addressing techniques)
▪ The ways in which the basic components are
interconnected
15-Aug-21 Faculty of Computer Science and Engineering 11
Course Overview
▪ Principle & organization of digital
computers.
▪ Instruction Set Architecture of a Computer.
▪ Programming in assembly language (MIPS).
▪ Performance issues in computer
architecture.
15-Aug-21 Faculty of Computer Science and Engineering 12
Why this Course ???
▪ To be professional in any field of computing today, not to
regard the computer just as a black box executing
programs by magic.
▪ To understand functional components that build up a
computer system, their characteristics, performance, &
interaction between them.
▪ To understand computer architecture in order to
develop a program that runs efficiently on a system.
▪ To understand the tradeoff among various component
features, such as CPU clock speed vs. memory size by
design a system
15-Aug-21 Faculty of Computer Science and Engineering 13
Course Outcomes
▪ Students who complete this course will be able to
▪ Explain the structure of a computer system and
deeply understand how it works at the hardware
level.
▪ Develop assembly language programs that include
complex constructs.
▪ Design and build basic software components which
work efficiently on a known architecture.
▪ Analyze the performance of computer architecture
and organization.
15-Aug-21 Faculty of Computer Science and Engineering 14
Course Schedule
Introduction to Computer Abstraction and Week 1-2
Technology
Instructions – Language of the Computer Week 3-5
with MIPS
Arithmetic for Computers Week 6-7
The Processor Week 8-9
Memory Systems Week 10-11
Storage and Other IO topics Week 12-14
15-Aug-21 Faculty of Computer Science and Engineering 15
Course Materials
▪ Lectures:
▪ Bk-elearning (http://e-learning.hcmut.edu.vn/)
▪ Textbooks:
▪ David A. Patterson and John L. Hennessy, Computer
Organization and Design: The Hardware/Software
Interface, Fifth Edition, Morgan Kaufmann Publishers,
2017.
▪ Pham Quoc Cuong, "Kiến trúc Máy tính", Nhà xuất bản
Đại học Quốc gia TPHCM, ISBN: 978-604-73-4662-2
▪ Some well-known online courses
▪ Edx, Coursera, Udemy
15-Aug-21 Faculty of Computer Science and Engineering 16
Course Evaluation
▪ Quizzes (In class): 10% Midterm exam: 20%
▪ Lab works: 10% Final exam: 40%
▪ Assignments: 20%
▪ Exams will be in multi-choice & open-books (for
online)
▪ Bonus:
▪ +3 pts for final exam if obtaining the certification of
CompArch online course (email me first)
▪ +3 pts for midterm if obtaining a certification/prize
from qualified competition (email me)
15-Aug-21 Faculty of Computer Science and Engineering 17
Question???