Professional Documents
Culture Documents
Kien Truc May Tinh Chapter 1 Introduction (Cuuduongthancong - Com)
Kien Truc May Tinh Chapter 1 Introduction (Cuuduongthancong - Com)
Computer architecture
om
.c
To improve is to change; to be
ng
perfect is to change often.
co
an
Winston Churchill
th
o ng
du
u
cu
om
.c
• Chương 1: Giới thiệu
ng
co
• Chương 2: Kiến trúc tập lệnh MIPS – 32 bits
an
• Chương 3: Bộ xử lý MIPS – 32 bits
th
ng
• Chương 4: Xử lý đường ống
o
du
om
• http://www-
.c
inst.eecs.berkeley.edu/~cs61c/fa16/ và
ng
co
• http://inst.eecs.berkeley.edu/~cs61c/sp15/
an
• Computer Organization and Design, 5th
th
ng
Edition : The Hardware/Software Interface
o
du
u
cu
om
.c
ng
co
Cơ Transistor (1958) IC(Integrated
an
ENIAC (1946)
• Burroughs 6500 Circuit)
• Blaise Pascal (1642) 18.000 bóng đèn • NCR, CDC 6600
th
• 1642 - 1945 •LSI – VLSI
1500 rơle •Xử lý song song
30 tấn
ng
140 kw
o
du
u
2000s:
1950s : Máy tính số học Có thiết kế tập lệnh và trình biên dịch.
Kiến trúc đặc trưng, có khả năng cấu hình
1960s: Có hệ điều hành, quản lý bộ nhớ Bộ nhớ chia sẻ đa xử lý.
lại, di động, tiêu thụ ít năng lượng, xử lý
mức thấp 1990s: CPU, bộ nhớ , I/O system, Multi-processors,
kết nối mạng, Thiết kế mức VLSI
song song.
om
.c
ng
co
an
th
o ng
du
u
Personal
cu
Mobile
Devices
5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu
7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quan niệm truyền thống về cấu trúc máy tính
Phần mềm
hệ thống
Phần mềm
om
ứng dụng
Phần
.c
Phân loại cứng
ng
co
Chức Cấu trúc
Cấu tạo
an
năng bộ xử lý
th
ng
Máy tính
Máy tính Von
chuyên RISC CISC Harvard
o
nhúng newmann
dụng
du
u
PDP-11,
ARM, SuperH, MIPS,
cu
VAX,
SPARC, DEC Alpha, PA-
Motorola
RISC-V, PIC, PowerPC
68k, x86
IBM.
intel.
om
.c
Application (ex: browser)
ng
Operating
co
Compiler System
(Mac OSX)
an
Software Assembler
th
Instruction Set
Hardware Processor Memory I/O system Architecture
o ng
Datapath & Control
du
Digital Design
u
cu
Circuit Design
transistors
9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Cấu trúc máy tính
Graphical Interface
Application
Application
om
Programming
Libraries
.c
Operating System
ng
System Programming
Programming Language
co
Assembler Language
an
Instruction Set Architecture - “Machine Language”
Processor
th IO System
ng
Firmware Microprogramming
o
du
Logic Design
cu
om
.c
• Application Programming
ng
• System Programming
co
an
software
th
instruction set
ng
hardware
o
• Processor Architecture
du
• Computer Organization
u
cu
om
.c
Thiết kế máy tính theo yêu cầu
ng
co
Cấu trúc bộ xử lý MIPS – 32
an
th
MIPS = Microprocessor without Interlocked Pipeline
ng
Stages
o
du
u
cu
co
an
th
o ng
du
u
cu
om
Predicts:
.c
2X Transistors / chip
ng
every 2 years
co
an
th
o ng
du
u
Gordon Moore
cu
Intel Cofounder
B.S. Cal 1950!
Year 14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Định luật Moore
om
Định luật Moore là một bước ngoặt
.c
lớn trong ngành công nghệ điện tử,
ng
giải thích tại sao nhà sản xuất có thể
co
giảm giá thành trong khi vẫn tiếp tục
an
nâng cao hiệu suất của phần cứng.
th
o ng
Hiện nay, thời gian để tăng đôi số
du
om
Dung lượng Thời gian lưu trữ /truy cập
9 Chòm tiên nữ 2,000 Years
.c
10 Tape /Optical
Robot
ng
Jim Gray
co
Turing Award
6 Disk B.S. Cal 1966
an
10 Sao diêm vương 2 Years Ph.D. Cal 1969!
th
o ng
du
Hà Nội 1.5 hr
u
100 Memory
cu
om
.c
ng
co
an
th
o ng
du
u
cu
1/14/2021 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Xử lý song song
om
.c
ng
co
an
th
o ng
du
u
cu
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Quan niệm mới
(phức tạp hơn một chút!)
Software Hardware
• Parallel Requests
om
Warehouse Smart
Assigned to computer -Scale Phone
.c
e.g., Search “Katz” Computer
Harness
ng
• Parallel Threads Parallelism &
co
Assigned to core Achieve High
e.g., Lookup, Ads Computer
an
Performance
• Parallel Instructions
th
Core … Core
>1 instruction @ one time
ng
Memory (Cache)
e.g., 5 pipelined instructions
o
Input/Output Core
du
• Parallel Data
Instruction Unit(s) Functional
>1 data item @ one time
u
Unit(s)
cu
om
.c
ng
co
an
th
ng Gene Amdahl
Computer Pioneer
o
du
u
cu
1/14/2021 20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Tiến trình tìm hiểu về kiến trúc máy tính µProc
1000
60%/yr.
CPU
(2X/1.5yr)
“Moore’s Law”
Input Input
Multiplicand Multiplier
32 100 Processor-Memory
Multiplicand Performance Gap:
Register LoadMp
(grows 50% / year)
Arithmetic
Performance
32=>34
signEx
Single/multicycle
32
<<1
34
34 10
32=>34 1 0
signEx 34x2 MUX
34 34
Multi x2/x1 DRAM
9%/yr.
om
DRAM (2X/10 yrs)
34
Sub/Add
Control
Logic
1
[0]"
32 ShiftAll
198
198
198
198
198
198
199
199
199
199
200
098
198
498
198
199
399
199
699
199
199
32 2
"LO
7
8
9
0
0
1
1
3
1
5
6
2
1
4
5
1
7
8
9
ENC[2]
LO[1]
Encoder
2 2
2 bits
Booth
HI register LO register
Extra
.c
ENC[1]
Prev
(16x2 bits) (16x2 bits)
ENC[0]
2
LoadLO
ClearHI
LoadHI
LO[1:0]
Time
32 32
ng
Result[HI] Result[LO]
co
an
th
ng
IFetchDcd Exec Mem WB
o
du
Pipelining
I/O
January 14, 2021 SET - HUST 21
CuuDuongThanCong.com
Memory Systems https://fb.com/tailieudientucntt
Cấu tạo của máy tính
om
.c
ng
co
an
Processor
th
ng
Input
o
du
Control
Memory
u
cu
Datapath Output
om
.c
ng
co
an
th
o ng
du
u
cu
om
toán
.c
ng
co
an
th
o ng
du
u
cu
om
v[k] = v[k+1];
Program (e.g., C) v[k+1] = temp;
.c
Compiler
lw $t0, 0($2) Anything can be represented
ng
Assembly Language lw $t1, 4($2) as a number,
Program (e.g., MIPS) sw $t1, 0($2)
co
sw $t0, 4($2) i.e., data or instructions
Assembler
an
0000 1001 1100 0110 1010 1111 0101 1000
Machine Language 1010 1111 0101 1000 0000 1001 1100 0110
th
Program (MIPS) 1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
ng
Machine
o
Interpretation
du
Architecture
Implementation
om
.c
ng
co
an
th
o ng
du
u
cu
om
toán
.c
ng
co
an
th
o ng
du
u
cu
om
.c
• Bộ xử lý làm gì?
ng
– 1. Tải lệnh
co
– 2. Tìm ra toán tử nào phải thực thi
– 3. Tìm ra dữ liệu nào sử dụng
an
– 4. Thực hiện tính toán
th
– 5. Tìm ra lệnh tiếp theo
• Lặp đi lặp lại quá trình
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
nhảy khi điều kiện đúng
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
ng
co
an
th
o ng
du
u
cu
om
.c
Thời gian đáp ứng
(thời gian thực thi) –
ng
là khoảng thời gian
giữa thời điểm bắt •Quan trọng đối với
co
đầu thực hiên và
1 người sử dụng
an
thời điểm hoàn
thành một nhiệm vụ
th
o ng
du
nhiệm vụ có thể
cu
om
.c
Hiệu năng và
1 thời gian
Performance x =
ng
Giảm thời thực thi có
Execution Time x gian đáp ứng quan hệ
co
thường sẽ nghịch đảo
tăng thông
an
lượng
Để tối đa hóa
th
hiệu năng,
cần tối thiểu
ng
hóa thời gian
Performanc ex ExecutionT ime thực hiện
o
y
n
du
om
Thời gian dùng để
tính hiệu năng
.c
ng
co
Thời gian đáp Thời gian bộ xử
an
ứng lý (CPU time)
th
o ng
Thời gian vào
du
om
Programming Useful Operations per second
.c
Language
ng
Compiler
(millions) of Instructions per second –
co
MIPS
ISA
an
(millions) of (F.P.) operations per second –
MFLOP/s
th
Datapath
Control Megabytes per second
ng
Function Units
o
Cycles per second (clock rate)
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chu kỳ xung nhịp
Clock
om
.c
ng
. . . .
. . Combination Logic . .
co
. . . .
an
th
ng Cycle
o
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Số xung đồng hồ
om
.c
• Số xung đồng hồ thực hiện 1 chương trình: C I CPI
ng
• Trong đó:
co
– I là số chỉ thị máy cần thực hiện trong chương trình
– CPI (eng. Clock cycles per Instruction) là số xung đồng hồ trung bình cần để thực
an
thi 1 chỉ thị máy,
th
• CPI có thể dùng để so sánh các máy tính khác nhau cùng triển khai 1 kiến trúc tập
ng
lệnh.
• Ví dụ: có 3 loại lệnh A, B, C khác nhau trong 1 kiến trúc tập lệnh. Mỗi lệnh trong từng
o
du
HUST-FET, 14/01/2021
CuuDuongThanCong.com https://fb.com/tailieudientucntt
CPI hiệu dụng (trung bình)
om
• CPI hiệu dụng được tính bằng cách xét tất cả các lớp chỉ thị có
.c
trong chương trình và lấy trung bình với trọng số là tỉ lệ xuất hiện
ng
của lớp chỉ thị trong chương trình
co
n
CPI ( CPI IC i )
an
i
i 1
th
– CPIi là số chu kỳ (trung bình) cần để thực hiện 1 chỉ thị thuộc
ng
thuộc loại i
o
du
• CPI hiệu dụng phụ thuộc vào tỉ lệ chỉ thị trong một chương trình (tần
cu
suất động của các chỉ thị trong 1 hoặc nhiều chương trình)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
So sánh dựa trên CPI
om
.c
• Khi 2 máy tính A, B cùng thực hiện 1 chương trình, chúng cùng thực
ng
hiện I chỉ thị.
• Do đó: T
co
cpu , A
I CPI T I 2 , 0 250 ps
A c,A
500 I
an
T cpu ,B
I CPI B
T c ,B I 1, 2 500 ps 600 I
th
• Máy A nhanh hơn máy B:
ng
Performance A Tcpu,B 600 ´ I
o
Máy tính A và B cùng triển khai 1 kiến
= = =1, 2
du
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Máy tính A với xung đồng hồ 2GHz thực hiện 1 chương
trình hết 10 giây. Để thực hiện chương trình đó trong 6
giây bằng máy tính B, ta cần tăng tốc độ xung đồng hồ
của máy B. Tuy nhiên, tăng tốc độ xung đồng hồ cũng
Ví dụ
làm tăng số chu kỳ cần thiết lên 1,2 lần. Xác định tốc
om
độ xung đồng hồ máy tính B
.c
• Công thức để tính thời gian CPU, khi máy tính A thực hiện chương trình:
ng
co
C A
T cpu ,A
fc,A
an
• Số chu kỳ máy tính A dùng để thực hiện chương trình:
th
ng 9 9
C A
T cpu ,A
fc,A 10 2 10 20 10 cycles
o
• Số chu kỳ máy tính B dùng để thực hiện chương trình:
du
C 1, 2 C
u
B A 9
C 1, 2 20 10
cu
B
f c ,B 4 GHz
• Tốc độ đồng hồ của máy tính B:
T cpu ,B
6
• Hiệu năng có thể cải thiện bằng cách giảm số chu kỳ 1 xung đồng hồ hoặc giảm
số chu kỳ cần thiết để thực hiện chương trình
CuuDuongThanCong.com https://fb.com/tailieudientucntt
So sánh đoạn mã chương
trình
om
.c
• Người thiết kế một máy tính triển khai kiến trúc tập lệnh gồm 3 loại chỉ thị
A, B, C được CPI như sau:
ng
co
A B C
an
CPI 1 2 3
th
• Với 1 câu lệnh ở ngôn ngữ bậc cao, người viết trình biên dịch có thể lựa
ng
chọn 2 đoạn chỉ thị máy gồm có tần suất các loại chỉ thị như sau:
o
du
Đoạn mã A B C
u
1 2 1 2
cu
2 4 1 1
• Đoạn mã nào gồm nhiều chỉ thị hơn? Đoạn mã nào nhanh hơn? Tính CPI
của từng đoạn mã.
HUST-FET, 14/01/2021 51
CuuDuongThanCong.com https://fb.com/tailieudientucntt
So sánh đoạn mã chương
trình
om
A B C
.c
Đoạn mã A B C
CPI 1 2 3
ng
1 2 1 2
co
2 4 1 1
an
th
• Đoạn mã 1 dùng 5 chỉ thị, đoạn mã 2 dùng 6 chỉ thị ng
• Số xung đồng hồ để thực hiện mỗi đoạn mã được tính như sau:
3
o
du
C1 ( CPI i
I 1,i ) (1 2 2 1 3 2) 10
i 1
u
3
cu
C 2
( CPI i
I 2 ,i ) (1 4 2 1 3 1) 9
i 1
• Trong đó I1,i, I2,i là số lượng chỉ thị loại i trong đoạn mã 1 và 2 tương ứng
• Như vậy đoạn mã 1 chậm hơn đoạn mã 2, mặc dù dùng ít chỉ thị hơn
HUST-FET, 14/01/2021 52
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các yếu tố ảnh hưởng đến hiệu năng
om
.c
ng
co
an
th
o ng
du
u
cu
CuuDuongThanCong.com https://fb.com/tailieudientucntt