Tải bản đầy đủ (.ppt) (28 trang)

Tổ chức máy tính pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 28 trang )

Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
1
1
Tổ chức máy tính
Tổ chức máy tính
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Bài 1:
Bài 1:
Giới thiệu
Giới thiệu
(Đọc chapter 1: 1.1 – 1.4 và 1.8)
(Đọc chapter 1: 1.1 – 1.4 và 1.8)
Hồ Viết Việt
Hồ Viết Việt
ThS. GVC
ThS. GVC
Bộ môn Kỹ thuật máy tính, Khoa Điện tử Viễn thông
Bộ môn Kỹ thuật máy tính, Khoa Điện tử Viễn thông
Đại học Bách khoa Đà Nẵng
Đại học Bách khoa Đà Nẵng


Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
2


2
Giáo trình
Giáo trình
D. A. Patterson and J. L. Hennessy,
D. A. Patterson and J. L. Hennessy,


Computer Organization & Design,
Computer Organization & Design,


The Hardware/Software Interface
The Hardware/Software Interface
,
,
Fourth Edition,
Fourth Edition,
Morgan Kaufman Publishers Inc., 2009
Morgan Kaufman Publishers Inc., 2009
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
3
3
Mục đích của môn học
Mục đích của môn học
Tìm hiểu các thành phần của một máy
Tìm hiểu các thành phần của một máy
tính số, cách thức hoạt động của nó:

tính số, cách thức hoạt động của nó:
Abstraction vs Technology.
Abstraction vs Technology.
Tìm hiểu các khái niệm thiết kế máy tính
Tìm hiểu các khái niệm thiết kế máy tính
hiện đại: datapath, control, pipeline,
hiện đại: datapath, control, pipeline,
cache,…
cache,…


Đánh giá hiệu suất của một máy tính
Đánh giá hiệu suất của một máy tính
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
4
4
Mục đích của môn học
Mục đích của môn học
Mục tiêu của người học
Mục tiêu của người học
Hoàn thành môn học này, sinh viên có thể:
Hoàn thành môn học này, sinh viên có thể:


Viết được các chương trình Assembly
Viết được các chương trình Assembly
đơn giản cho bộ xử lý MIPS 32 bit

đơn giản cho bộ xử lý MIPS 32 bit


Nhận dạng được Phần cứng, Phần mềm
Nhận dạng được Phần cứng, Phần mềm
hệ thống và Phần mềm ứng dụng
hệ thống và Phần mềm ứng dụng


Đánh giá hiệu suất của một máy tính
Đánh giá hiệu suất của một máy tính


Thiết kế một bộ xử lý MIPS đơn giản với
Thiết kế một bộ xử lý MIPS đơn giản với
một tập lệnh cho trước
một tập lệnh cho trước
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
5
5
Mục tiêu bài 1
Mục tiêu bài 1
Phân biệt được phần cứng, phần mềm hệ thống và phần
Phân biệt được phần cứng, phần mềm hệ thống và phần
mềm ứng dụng
mềm ứng dụng


Phần mềm hệ thống: OS, Compiler, Assembler,
Phần mềm hệ thống: OS, Compiler, Assembler,

Phần cứng: Datapath, Control, Memory, Input, Output
Phần cứng: Datapath, Control, Memory, Input, Output

Ngôn ngữ bậc cao, Ngôn ngữ Assembly, Ngôn ngữ
Ngôn ngữ bậc cao, Ngôn ngữ Assembly, Ngôn ngữ
máy
máy
Tính toán thời gian thực hiện, hiệu suất của một máy
Tính toán thời gian thực hiện, hiệu suất của một máy
tính từ các thông số: clock rate, CPI
tính từ các thông số: clock rate, CPI

So sánh hiệu suất của các máy tính khác nhau khi
So sánh hiệu suất của các máy tính khác nhau khi
chạy cùng một đoạn mã
chạy cùng một đoạn mã

So sánh hiệu suất của các đoạn mã khác nhau khi
So sánh hiệu suất của các đoạn mã khác nhau khi
chạy trên cùng một máy tính
chạy trên cùng một máy tính
Technology: Một PC điển hình
Technology: Một PC điển hình
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính

6
6
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
7
7
Abstraction: Khái niệm Computer
Abstraction: Khái niệm Computer
Application software
Programs user
writes and runs
Hardware
Systems software
Operating system
compiler
assembler
User
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
8
8
Phần mềm của Computer
Phần mềm của Computer
Application software,
a program in C:
swap (int v[ ], int k)

{int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
MIPS binary machine code:
00000000101000010000000000011000
00000000000110000001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Compiler Assembler
Application
software
Hardware
Systems software
MIPS compiler output,
assembly language program:
swap;
muli $2, $5, 4
add $2, $4, $2
lw $15, 0 ($2)
lw $16, 4 ($2)
sw $16, 0 ($2)
sw $15, 4 ($2)
jr $31
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012

Tổ chức máy tính
Tổ chức máy tính
9
9
Phần cứng của Computer
Phần cứng của Computer
Control
Datapath
Memory
Central Processing
Unit (CPU)
hay “processor”
Input
Output
5 thành phần cơ bản
Application
software
Hardware
Systems software
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
10
10
Kiến trúc tập lệnh (ISA)
Kiến trúc tập lệnh (ISA)
Một tập lệnh assembly cung cấp mối liên kết
Một tập lệnh assembly cung cấp mối liên kết
giữa phần mềm và phần cứng.

giữa phần mềm và phần cứng.
Với cùng một tập lệnh, người lập trình phần
Với cùng một tập lệnh, người lập trình phần
mềm và người kỹ sư phần cứng hoạt động ít
mềm và người kỹ sư phần cứng hoạt động ít
nhiều độc lập với nhau.
nhiều độc lập với nhau.
ISA được thiết kế nhằm khai thác được tính
ISA được thiết kế nhằm khai thác được tính
năng cao nhất từ công nghệ phần cứng sẵn có.
năng cao nhất từ công nghệ phần cứng sẵn có.
Instruction
set
Software Hardware
Application
software
Hardware
Systems software
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
11
11
ISA
ISA
Định nghĩa các thanh ghi
Định nghĩa các thanh ghi
Định nghĩa các mode truyền dữ liệu giữa các
Định nghĩa các mode truyền dữ liệu giữa các

thanh ghi, bộ nhớ và I/O
thanh ghi, bộ nhớ và I/O
Một số ISA: RISC, CISC, VLIW, Superscalar
Một số ISA: RISC, CISC, VLIW, Superscalar
Một số ví dụ:
Một số ví dụ:

IBM370/X86/Pentium/K6 (CISC)
IBM370/X86/Pentium/K6 (CISC)

PowerPC (Superscalar)
PowerPC (Superscalar)

Alpha (Superscalar)
Alpha (Superscalar)

MIPS (RISC and Superscalar)
MIPS (RISC and Superscalar)

Sparc (RISC), UltraSparc (Superscalar)
Sparc (RISC), UltraSparc (Superscalar)
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
12
12
Kiến trúc máy tính
Kiến trúc máy tính
Kiến trúc: các thuộc tính hệ thống có ảnh

Kiến trúc: các thuộc tính hệ thống có ảnh
hưởng trực tiếp đến việc thực hiện
hưởng trực tiếp đến việc thực hiện
chương trình
chương trình
Kiến trúc dưới mắt người lập trình:
Kiến trúc dưới mắt người lập trình:

Tập lệnh
Tập lệnh

Biễu diễn dữ liệu
Biễu diễn dữ liệu

Cơ chế I/O
Cơ chế I/O

Định địa chỉ bộ nhớ
Định địa chỉ bộ nhớ
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
13
13
Tổ chức máy tính
Tổ chức máy tính
Tổ chức máy tính: các chi tiết vật lý được
Tổ chức máy tính: các chi tiết vật lý được
che dấu đối với người lập trình:

che dấu đối với người lập trình:



Phần cứng thực hiện một lệnh
Phần cứng thực hiện một lệnh



Các tín hiệu điều khiển
Các tín hiệu điều khiển



Công nghệ bộ nhớ
Công nghệ bộ nhớ
Với cùng một kiến trúc có thể có nhiều tổ
Với cùng một kiến trúc có thể có nhiều tổ
chức khác nhau.
chức khác nhau.
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
14
14
Kiến trúc và Tổ chức
Kiến trúc và Tổ chức
Software
Programmers

Hardware
Engineers
ISA
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
15
15
Hiệu suất (Performance)?
Hiệu suất (Performance)?
Thời gian đáp ứng (Response time): thời gian
Thời gian đáp ứng (Response time): thời gian
tính từ lúc bắt đầu đến lúc kết thúc một công
tính từ lúc bắt đầu đến lúc kết thúc một công
việc.
việc.
Năng suất (Throughput): khối lượng công việc
Năng suất (Throughput): khối lượng công việc
được thực hiện trong đơn vị thời gian cho trước.
được thực hiện trong đơn vị thời gian cho trước.
Số đo hiệu suất:
Số đo hiệu suất:
MIPS (million instructions per second).
MIPS (million instructions per second).
MFLOPS (million floating point operations per second), GFLOPS,
MFLOPS (million floating point operations per second), GFLOPS,
TFLOPS (10
TFLOPS (10
12

12
), …
), …
SPEC (System Performance Evaluation Corporation) benchmarks.
SPEC (System Performance Evaluation Corporation) benchmarks.
LINPACK benchmarks, floating point computing, used for
LINPACK benchmarks, floating point computing, used for
supercomputers.
supercomputers.
Synthetic benchmarks.
Synthetic benchmarks.
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
16
16
Bội số và Ước số
Bội số và Ước số
Ước số Bội số
10
10
-3
-3


milli
milli



m
m
10
10
3
3


kilo
kilo


k
k
10
10
-6
-6
micro
micro
μ
μ
10
10
6
6


mega
mega

M
M
10
10
-9
-9
nano
nano


n
n
10
10
9
9


giga
giga
G
G
10
10
-12
-12
pico
pico



p
p
10
10
12
12
tera
tera
T
T
10
10
-15
-15
femto
femto


f
f
10
10
15
15


peta
peta
P
P

10
10
-18
-18
atto
atto
10
10
18
18


exa
exa
10
10
-21
-21


zepto
zepto
10
10
21
21


zetta
zetta

10
10
-24
-24


yocto
yocto
10
10
24
24


yotta
yotta
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
17
17
Dung lượng Bộ nhớ
Dung lượng Bộ nhớ
Bội số bit byte
2
2
10
10
1,024

1,024
K
K
Kb
Kb
KB
KB
2
2
20
20
1,048,576
1,048,576
M
M
Mb
Mb
MB
MB
2
2
30
30
1,073,741,824
1,073,741,824
G
G
Gb
Gb
GB

GB
2
2
40
40
1,099,511,627,776
1,099,511,627,776
T
T
Tb
Tb
TB
TB
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
18
18
Đo hiệu suất
Đo hiệu suất
Thời gian tính theo giây (s), micro giây
Thời gian tính theo giây (s), micro giây
(
(
μ
μ
s), nano giây (ns), or pico giây (ps).
s), nano giây (ns), or pico giây (ps).
Clock cycle (Chu kỳ đồng hồ)

Clock cycle (Chu kỳ đồng hồ)
Chu kỳ (Period) của đồng hồ hệ thống
Chu kỳ (Period) của đồng hồ hệ thống
Ví dụ: 1 nano giây là chu kỳ của một đồng hồ hệ
Ví dụ: 1 nano giây là chu kỳ của một đồng hồ hệ
thống có tần số 1GHz (1GHz clock rate)
thống có tần số 1GHz (1GHz clock rate)
CPU time = (CPU clock cycles)/(clock rate)
CPU time = (CPU clock cycles)/(clock rate)
Cycles per instruction (CPI): Số chu kỳ
Cycles per instruction (CPI): Số chu kỳ
trung bình cần để thực hiện một lệnh của
trung bình cần để thực hiện một lệnh của
máy tính
máy tính
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
19
19
Các thông số liên quan đến việc
Các thông số liên quan đến việc
tính toán hiệu suất
tính toán hiệu suất
Các thống số Đơn vị tính
CPU time của 1 chương
CPU time của 1 chương
trình
trình

Thời gian (giây, … )
Thời gian (giây, … )
Tổng số lệnh (Instruction
Tổng số lệnh (Instruction
count)
count)
Số lệnh được thực hiện
Số lệnh được thực hiện
của 1 chương trình
của 1 chương trình
CPI
CPI
Số chu kỳ trung bình để
Số chu kỳ trung bình để
thực hiện 1 lệnh
thực hiện 1 lệnh
Clock cycle time
Clock cycle time
Một chu kỳ đồng hồ
Một chu kỳ đồng hồ
(giây, …)
(giây, …)
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
20
20



Màu thời gian xanh xanh
Màu thời gian xanh xanh
Hương thời gian tím ngát …”
Hương thời gian tím ngát …”
CPU time
CPU time
là thời gian CPU thực hiện
là thời gian CPU thực hiện
chương trình, gồm:
chương trình, gồm:

User CPU time
User CPU time
là thời gian thực hiện các lệnh
là thời gian thực hiện các lệnh
trong chương trình
trong chương trình
.
.

System CPU time
System CPU time
là thời gian hệ điều hành tiêu
là thời gian hệ điều hành tiêu
tốn cho chương trình.
tốn cho chương trình.
Elapsed time là thời gian từ lúc bắt đầu cho
Elapsed time là thời gian từ lúc bắt đầu cho
đến lúc kết thúc một chương trình
đến lúc kết thúc một chương trình

.
.
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
21
21
Tính CPU Time
Tính CPU Time
1
Performance = ────────────────
Execution Time
Execution Time ~ CPU Time
CPU Time = Instruction count × CPI × Clock cycle time
Instruction count × CPI
= ────────────────
Clock rate
Instructions Clock cycles 1 second
= ──────── × ───────── × ────────
Program Instruction Clock rate
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
22
22
So sánh 2 máy tính C1 và C2
So sánh 2 máy tính C1 và C2
Chạy cùng một chương trình trên C1 và C2. Giả sử cả hai

Chạy cùng một chương trình trên C1 và C2. Giả sử cả hai
máy tính thực hiện cùng một số câu lệnh N:
máy tính thực hiện cùng một số câu lệnh N:
C1: CPI = 2.0, clock cycle time = 1 ns
C1: CPI = 2.0, clock cycle time = 1 ns
CPU time(C1) =
CPU time(C1) =
N
N


× 2.0 × 1 = 2.0
× 2.0 × 1 = 2.0
N
N
ns
ns
C2: CPI = 1.2, clock cycle time = 2 ns
C2: CPI = 1.2, clock cycle time = 2 ns
CPU time(C2) =
CPU time(C2) =
N
N


× 1.2 × 2 = 2.4
× 1.2 × 2 = 2.4
N
N
ns

ns
CPU time(C2)/CPU time(C1) = 2.4
CPU time(C2)/CPU time(C1) = 2.4
N
N
/2.0
/2.0
N
N
= 1.2, Do vậy,
= 1.2, Do vậy,
C1
C1
nhanh hơn
nhanh hơn
C2 1,2 lần.
C2 1,2 lần.
Kết quả có thể thay đổi theo các chương trình được chọn.
Kết quả có thể thay đổi theo các chương trình được chọn.
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
23
23
So sánh các đoạn mã M & N
So sánh các đoạn mã M & N
Các đoạn mã:
Các đoạn mã:


M có 5 triệu lệnh
M có 5 triệu lệnh

N có 6 triệu lệnh
N có 6 triệu lệnh

Đoạn mã nào hiệu quả hơn?
Đoạn mã nào hiệu quả hơn?
Giả sử một máy tính có 3 kiểu lệnh:
Giả sử một máy tính có 3 kiểu lệnh:
A, B và C.
A, B và C.
CPU cycles (M) = 10 triệu
CPU cycles (M) = 10 triệu
CPU cycles (N) = 9 triệu
CPU cycles (N) = 9 triệu
Đoạn mã N hiệu quả hơn
Đoạn mã N hiệu quả hơn
CPI( M ) = 10/5 = 2
CPI( M ) = 10/5 = 2
CPI( N ) = 9/6 = 1.5
CPI( N ) = 9/6 = 1.5
N hiệu quả hơn
N hiệu quả hơn
Lưu ý:
Lưu ý:
Kích cõ của đoạn mã không
Kích cõ của đoạn mã không
quyết định hiệu suất.
quyết định hiệu suất.

Kiểu lệnh CPI
A
A
1
1
B
B
2
2
C
C
3
3
Đoạn

Số triệu lệnh
Kiểu
A
Kiểu
B
Kiểu
C
Tổng
cộng
M
M
2
2
1
1

2
2
5
5
N
N
4
4
1
1
1
1
6
6
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
24
24
Các cách nâng cao hiệu suất
Các cách nâng cao hiệu suất
Tăng tốc độ đồng hồ (clock rate)
Tăng tốc độ đồng hồ (clock rate)
Cải tiến tổ chức của bộ xử lý để hạ thấp
Cải tiến tổ chức của bộ xử lý để hạ thấp
CPI
CPI
pipelining
pipelining

instruction-level parallelism (ILP)
instruction-level parallelism (ILP)
multiprocessing
multiprocessing
Sử dụng Compiler có khả năng giảm số
Sử dụng Compiler có khả năng giảm số
lượng lệnh được phát ra hoặc phát ra các
lượng lệnh được phát ra hoặc phát ra các
lệnh có CPI trung bình thấp
lệnh có CPI trung bình thấp
Sử dụng bộ nhớ cache
Sử dụng bộ nhớ cache
Học kỳ 1 2011-2012
Học kỳ 1 2011-2012
Tổ chức máy tính
Tổ chức máy tính
25
25
Giới hạn của hiệu suất
Giới hạn của hiệu suất
Thời gian thực hiện của một chương trình
Thời gian thực hiện của một chương trình
là100 s:
là100 s:
80 s cho các phép toán nhân
80 s cho các phép toán nhân
20 s cho các hoạt động khác
20 s cho các hoạt động khác
Cải thiện được phép nhân n lần:
Cải thiện được phép nhân n lần:



80
80
Execution time = (── + 20 ) seconds
Execution time = (── + 20 ) seconds


n
n
Giới hạn: Ngay cả nếu
Giới hạn: Ngay cả nếu
n
n
=
=


, thì
, thì
execution time không thể thấp hơn 20 s.
execution time không thể thấp hơn 20 s.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×