Tải bản đầy đủ (.pdf) (9 trang)

Computer system part 1

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 (385.25 KB, 9 trang )

Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 1
HỆ THỐNG MÁY TÍNH
Computer System
22 August 2011
Nguyễn Kim Khánh,
PhD. in Computer Engineering
Bộ môn Kỹ thuật máy tính
Viện Công nghệ thông tin và Truyền thông
Trường Đại học Bách khoa Hà Nội
NKK-HUT
Contact
 Offices: Room 503-B1, DCE, SoICT
Mobile:
091
358
5533

Mobile:

091
-
358
-
5533
 e-mail:


22 August 2011
NKK-HUT
Mục tiêu học phần


 Là học phần tiếp theo của Kiến trúc máy tính,
nhằm
g
iới thi

u các kiến thức cơ bản về h


g ệ

thống máy tính bao gồm: kiến trúc bộ nhớ,
kiến trúc vào-ra, kiến trúc CPU và các kiến
trúc máy tính song song.
 Sinh viên có khả năng đánh giá được hiệu
năng của các họ máy tính, khai thác và sử
22 August 2011
dụng hiệu quả các loại máy tính và có khả
năng tiếp cận để phát triển các hệ máy tính
nhúng phục vụ các mục đích chuyên dụng.
NKK-HUT
Tài liệu tham khảo chính
1. William Stallings - Computer
Organization and Architecture –
Desi
g
nin
g
for Performance

2009

gg
(8
th
edition)
2. David A. Patterson & John L.
Hennessy - Computer
Organization and Design
: The
Hardware/Software Interface

2009
22 August 2011
Hardware/Software

Interface
2009

(4
th
edition)
3. Behrooz Parhami - Computer
Architecture: From Microprocessors
to Supercomputers -
2005
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 2
NKK-HUT
Nội dung học phần
 Chương 1. Giới thiệu chung
ế

 Chương 2. Ki
ế
n trúc bộ nhớ
 Chương 3. Kiến trúc vào-ra
 Chương 4. Kiến trúc bộ xử lý
 Chương 5. Kiến trúc máy tính tiên tiến
22 August 2011
NKK-HUT
Hệ thống máy tính
Chương 1
GIỚI THIỆU CHUNG
22 August 2011
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
NKK-HUT
1 1 Máy tính và phân loại
Nội dung
1
.
1
.
Máy

tính



phân

loại

1.2. Kiến trúc máy tính
1.3. Sự phát triển của máy tính
1.4. Hiệu năng máy tính
722 August 2011 722 August 2011
NKK-HUT
 Máy tính (Computer) là thiết bị điện tử thực hiện
các công việc sau:

Nhận thông tin vào
1.1. Máy tính và phân loại

Nhận

thông

tin

vào
,
 Xử lý thông tin theo chương trình được nhớ sẵn bên
trong,
 Đưa thông tin ra.
822 August 2011 822 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 3
NKK-HUT
 Phân loại truyền thống:
Má i tí h (Mi t )
Phân loại máy tính



y v
i


n
h

(Mi
crocompu
t
ers
)
 Máy tính nhỏ (Minicomputers)
 Máy tính lớn (Mainframe Computers)
 Siêu máy tính (Supercomputers)
922 August 2011 922 August 2011
NKK-HUT
Theo Hennessy/Patterson:
Phân loại máy tính hiện đại
 Máy tính để bàn (Desktop Computers)
 Máy chủ (Server Computers)
 Máy tính nhúng (Embedded Computers)
1022 August 2011 1022 August 2011
NKK-HUT
1.2. Kiến trúc máy tính
 Định nghĩatrước đây về kiến trúc máy
tính:
tính:


 Cách nhìn logic của máy tính từ người lập
trình (hardware/software interface)
 Kiến trúc tập lệnh (Instruction Set Architecture
– ISA)
Là định
nghĩa
hẹp
1122 August 2011 11



định

nghĩa
hẹp
22 August 2011
NKK-HUT
Định nghĩa của Hennessy/ Patterson
 Kiến trúc máy tính bao gồm:
 Kiến trúc tập lệnh (Instruction Set Architecture):
nghiên cứu máy tính theo cách nhìn của người lập
trình (hardware/software interface).
 Tổ chức máy tính (Computer Organization): nghiên
cứu thiết kế máy tính ở mức cao,chẳng hạn như hệ
thống nhớ, cấu trúc bus, thiết kế bên trong CPU.

Phầncứng
(Hardware): nghiên cứuthiếtkế logic chi
1222 August 2011 12
Phần


cứng

(Hardware):

nghiên

cứu

thiết

kế

logic

chi

tiết và công nghệ đóng gói của máy tính.
 Kiến trúc tập lệnh thay đổi chậm, tổ chức và
phần cứng máy tính thay đổi rất nhanh.
22 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 4
NKK-HUT
Kiến trúc tập lệnh
Kiến trúc tập lệnh của máy tính bao gồm:
Tậplệnh
:tậphợp các chuỗisố nhị phân

Tập


lệnh
:

tập

hợp

các

chuỗi

số

nhị

phân

mã hoá cho các thao tác mà máy tính
có thể thực hiện
 Các kiểu dữ liệu: các kiểu dữ liệu mà

y
tính có th

xử l
ý

1322 August 2011 13
y ý

22 August 2011
NKK-HUT
Cấu trúc cơ bản của máy tính
CPU
Bé nhí chÝnh
Bus liªn kÕt hÖ thèng
1422 August 2011 14
Vμo-ra
22 August 2011
NKK-HUT
 Bộ xử lý trung tâm (Central Processing Unit):
Điều khiển hoạt động của máy tính và xử lý
dữ liệu
Các thành phần cơ bản của máy tính
dữ

liệu
.
 Bộ nhớ chính (Main Memory): Chứa các
chương trình và dữ liệu đang được sử dụng.
 Vào ra (Input/Output): Trao đổi thông tin giữa
máy tính với bên ngoài.
1522 August 2011 15
 Bus liên kết hệ thống (System Interconnection
Bus): Kết nối và vận chuyển thông tin giữa
các thành phần với nhau.
22 August 2011
NKK-HUT
Mô hình phân lớp của máy tính
1622 August 2011 16

 Phần cứng (Hardware): hệ thống vật lý của máy tính.
 Phần mềm (Software): các chương trình và dữ liệu.
22 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 5
NKK-HUT
1.3. Sự phát triển của của máy tính
Các thế hệ máy tính
 Thế hệ thứ nhất: Máy tính dùng đèn điện tử
chân không (1950s)
 Thế hệ thứ hai: Máy tính dùng transistor
(1960s)
 Thế hệ thứ ba: Máy tính dùng vi mạch SSI,
MSI và LSI (1970s)
1722 August 2011 17
 Thế hệ thứ tư: Máy tính dùng vi mạch VLSI
(1980s)
 Thế hệ thứ năm: Máy tính dùng vi mạch
ULSI, SoC (1990s)
22 August 2011
NKK-HUT
Sự phát triển của bộ vi xử lý
 1971: bộ vi xử lý 4-bit Intel 4004

1972
-
1977: các bộ xử lý 8
-
bit


1972
-
1977:

các

bộ

xử



8
-
bit
 1978-1984: các bộ xử lý 16-bit
 Khoảng từ 1985: các bộ xử lý 32-bit
 Khoảng từ 2000: các bộ xử lý 64-bit
Từ 2006: các bộ xử lý đa lõi (multicores):
1822 August 2011 18

Từ

2006:

các

bộ

xử




đa

lõi

(multicores):
22 August 2011
NKK-HUT
Máy tính ngày nay
Clusters
Massive Cluster
Gigabit Ethernet
e
frigerators
Robots
Routers
Cars
Sensor
Nets
R
e
1922 August 2011
NKK-HUT
1.4. Hiệu năng máy tính
 Định nghĩa hiệu năng:
Performance = 1/Execution Time
 “Máy tính X nhanh hơn máy Y n lần”
n==

XY
YX
time Executiontime Execution
ePerformancePerformanc
Ví d Thờigianchạ ch ơng trình



d
ụ:
Thời

gian

chạ
y
ch
ư
ơng

trình
:
 10s trên máy A, 15s trên máy B
 Execution Time
B
/ Execution Time
A
= 15s / 10s = 1.5
 Vậy máy A nhanh hơn máy B 1.5 lần
2022 August 2011

Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 6
NKK-HUT
Xung nhịp của CPU
 Hoạt động của CPU được điều khiển bởi xung
nhịp có tần số xác định
Clock period
Clock (cycles)
Data transfer
and computation
Update state
 Chu kỳ xung nhịp (Clock period): thời gian của
ộthkỳ
m
ột
c
h
u
kỳ
:
 VD: 250ps = 0.25ns = 250×10
–12
s
 Tần số xung nhịp (Clock frequency hay Clock
rate): số chu kỳ trong 1 giây:
 VD: 4.0GHz = 4000MHz = 4.0×10
9
Hz
2122 August 2011
NKK-HUT

Thời gian CPU
Cycles Clock CPU
Time Cycle ClockCycles Clock CPUTime CPU
=
×
=
 Hiệu năng được tăng lên bằng cách:
 Giảm số chu kỳ xung nhịp
ầ ố (C )
RateClock
 Tăng t

n s

xung nhịp
(C
lock Rate
)
2222 August 2011
NKK-HUT
Ví dụ
 Máy tính A: 2GHz clock, 10s CPU time
 Máy tính B
 6s CPU time
 Số chu kỳ xung nhịp của B = 1.2 x Số chu kỳ xung nhịp của A
 Xác định tần số xung nhịp của máy B?
Rt
Cl k
Ti
CPU

Cl
Cl k
6s
Cycles Clock1.2
Time CPU
Cycles Clock
Rate Clock
A
B
B
B
×
==
4GHz
6s
1024
6s
10201.2
Rate Clock
10202GHz10s
R
a
t
e
Cl
oc
k
Ti
me
CPU

C
yc
l
es
Cl
oc
k
99
B
9
AAA
=
×
=
××
=
×=×=
×=
2322 August 2011
NKK-HUT
Số lệnh và số chu kỳ trên một lệnh
Time Cycle ClockCPICount nInstructioTime CPU
nInstructio per CyclesCount nInstructioCycles Clock
××=
×
=
 Số lệnh của chương trình: IC (Instruction Count):
 Được xác định bởi chương trình, kiến trúc tập lệnh và chương
trình dịch
Rate Clock

CPICountnInstructio
×
=
 Số chu kỳ trên một lệnh: CPI (Cycles per Instruction)
 CPI trung bình:
 Được xác định bởi phần cứng CPU
 Các lệnh khác nhau có CPI khác nhau
2422 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 7
NKK-HUT
Ví dụ
 Máy tính A: Cycle Time = 250ps, CPI = 2.0
 Máy tính B: Cycle Time = 500ps, CPI = 1.2

Cùng kiếntrúctậplệnh (ISA)

Cùng

kiến

trúc

tập

lệnh

(ISA)
 Máy nào nhanh hơn và nhanh hơn bao nhiêu ?
Time

Cycle
CPI
Count
n
Instructio
Time
CPU
500psI250ps2.0I
A
Time Cycle
A
CPICount nInstructio
A
Time CPU
×
×
=
×=××=
××=
A nhanh hơn…
1.2
500psI
600psI
A
Time CPU
B
Time CPU
600psI500ps1.2I
B
Time

Cycle
B
CPI
Count

n
Instructio
B
Time

CPU
=
×
×
=
×=××=
×
×
=
…lần
2522 August 2011
NKK-HUT
Chi tiết hơn về CPI
 Nếu loại lệnh khác nhau có số chu kỳ khác
nhau

=
×=
n
1i

ii
)Count nInstructio(CPICycles Clock
 CPI trung bình:





n
Count
n
Instructio
Cycles
Clock

=






×
=
=
1i
i
i
Count nInstructio
Count

n
Instructio
CPI
Count nInstructio
Cycles
Clock
CPI
2622 August 2011
NKK-HUT
Ví dụ
 Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh
thuộc các loại A, B, C
Loại lệnh A B C
CPI theo loại lệnh 1 2 3
IC trong dãy lệnh 1 2 1 2
IC trong dãy lệnh 2 4 1 1
 Dãy lệnh 1: IC = 5  Dãy lệnh 2: IC = 6
 Clock Cycles
= 2×1 + 1×2 + 2×3
= 10
 Avg. CPI = 10/5 = 2.0
 Clock Cycles
= 4×1 + 1×2 + 1×3
= 9
 Avg. CPI = 9/6 = 1.5
2722 August 2011
NKK-HUT
Tóm tắt về Hiệu năng
cycle Clock
Seconds

nInstructio
cycles Clock
Program
nsInstructio
Time CPU ××=
 Hiệu năng phụ thuộc vào:
 Thuật toán: ảnh hưởng tới IC, có thể cả CPI
 Ngôn ngữ lập trình: ảnh hưởng tới IC, CPI
Ch tì hdị h ả hh ở tớiIC CPI

Ch
ương
t
r
ì
n
h

dị
c
h
:

n
h

h
ư

ng

tới

IC
,
CPI
 Kiến trúc tập lệnh: ảnh hưởng tới IC, CPI, T
c
2822 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 8
NKK-HUT
MIPS như là thước đo hiệu năng
 MIPS: Millions of Instructions Per Second
(Số triệu lệnh trên 1 giây)
6
6
6
10CPI
rate Clock
10
rate Clock
CPIcount nInstructio
count nInstructio
10time Execution
count nInstructio
MIPS
×
=
×
×

=
×
=
29
6
10MIPS
rate Clock
CPI
×
=
22 August 2011
NKK-HUT
Ví dụ
Tính MIPS của bộ xử lý với:
clock rate = 2GHz và CPI = 4
0.5ns
2ns
3022 August 2011 30
1 chu kỳ = 1/(2x10
9
) = 0,5ns
CPI = 4 Æ 1 lệnh = 4x0,5ns = 2ns
Vậy bộ xử lý thực hiện được 500MIPS
22 August 2011
NKK-HUT
Ví dụ
Tính CPI của bộ xử lý với:
clock rate = 1GHz và 400 MIPS?
1ns
410

8
lệ hth hiệ t1
3122 August 2011 31
4
x
10
8

lệ
n
h

th
ực
hiệ
n
t
rong
1
s
Æ 1 lệnh thực hiện trong 1/(4x10
8
)s = 2,5ns
Æ CPI = 2,5
22 August 2011
NKK-HUT
MFLOPS
Millions of Floating Point Operations per Second
(Số triệu phép toán số dấu phẩy động trên một giây)
GFLOPS(10

9

6
10time Execution
operations point floating Executed
MFLOPS
×
=
3222 August 2011 32
TFLOPS(10
12

22 August 2011
Bài giảng Hệ thống máy tính 22 August 2011
Nguyễn Kim Khánh - ĐHBKHN 9
NKK-HUT
Hết chương 1
3322 August 2011 3322 August 2011

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

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