Khoa
Khoa
KH & KT
KH & KT
M
M
ỏ
ỏ
y
y
t
t
ớ
ớ
nh
nh
Bo
Bo
ọ
ọ
moõn
moõn
Kyừ
Kyừ
thua
thua
ọ
ọ
t
t
Ma
Ma
ự
ự
y
y
t
t
ớ
ớ
nh
nh
Pha
Pha
ù
ù
m
m
T
T
ử
ử
ụ
ụ
ứ
ứ
ng
ng
Ha
Ha
ỷ
ỷ
i
i
Nguyeón
Nguyeón
Quo
Quo
ỏ
ỏ
c
c
Tua
Tua
ỏ
ỏ
n
n
Kiến trúc Máy tính - Chap 01
2
Nội dung tóm tắtmônhọc
) Là môn họccơ sở ngành máy tính, giảng
dạychocả chuyên ngành KTMT lẫn KHMT
) Cung cấpcáckiếnthứccơ bảnvề nguyên lý
hoạt động và tổ chức ở các máy tính số
•Vấn đề đánh giá hiệusuất
•Kiếntrúctậplệnh
• Tính toán số học
• Đường đidữ liệuvàtínhiệu điềukhiển
•Hệ thống bộ nhớ
•Giaotiếpvới ngoạivi
) Sử dụng kiếntrúccácbộ xử lý PowerPC,
MIPS, Intel, v.v… làm minh họa
Kiến trúc Máy tính - Chap 01
3
Mục đích môn học
) Đốivới chuyên ngành KTMT
•Nắmvững các kiếnthứccơ bảnvề tổ chứcvàhoạt động
của máy tính số
• Làm nềntảng để tìm hiểucấutrúc(kiếntrúc+ mạch logic)
củacácphầntử khác nhau trong một máy tính số
•Vậndụng để thiếtkế, cảitạo, sửachữacáchệ thống ứng
dụng vi xử lý – vi điềukhiển, hệ thống nhúng
) Đốivới chuyên ngành KHMT
•Nắmvững các kiếnthứccơ bảnvề tổ chứcvàhoạt động
của máy tính số
•Vậndụng vào thiếtkế, cảitạocáchệ thống phầnmềmsao
cho hoạt động hiệuquả, phù hợpvớikiếntrúcphầncứng
Kiến trúc Máy tính - Chap 01
4
Tài liệu tham khảo
) “Computer Organization and Design: the hardware/software
interface”,
John L. Hennessy & David A. Patterson, Second Edition,
MORGAN KAUFMANN PUBLISHERS, INC. 1998
) “Computer Architecture: a quantitative approach”,
John L. Hennessy & David A. Patterson, Third Edition,
MORGAN KAUFMANN PUBLISHERS, INC. 2002
Kiến trúc Máy tính - Chap 01
5
Chương 1.
Kiến trúc Máy tính - Chap 01
6
1.1 Dẫnnhập
) Sự ra đời và phát triểncủa máy tính dẫn đếncáigọilà
cách mạng thông tin, cuộccáchmạng thứ 3 trong nền
vănminhcủaloàingười(trước đólầnlượtlàcách mạng
nông nghiệp, cách mạng kỹ nghệ)
) Kếtquả là sứcmạch trí tuệ của nhân loại được nhân lên
đáng kể, khoa học–kỹ thuật phát triểnmạnh mẽ và
vươn đếnnhững giớihạnmới
) Mộtsố thành tựu đạt được trong thời gian qua giống
như chuyệnviễntưởng
• Automatic teller machines • Computers in automobiles
• Laptop computers
• Human genome project
• World Wide Web
Kiến trúc Máy tính - Chap 01
7
…
) Phầncứng máy tính tiếnbộ cho phép các nhà lậptrình
viết nên những phầnmềm ứng dụng kỳ diệu, và làm cho
máy tính thâm nhập nhanh chóng vào mọi ngóc ngách
của đờisống hiện đại
) Trong tương lai những điềuviễntưởng sẽ là: mộtxãhội
không cần đếntiềnmặt, các xa lộ thông minh tựđộng
hóa, ubiquitous computing, …
) Các nhà lập trình thành công luôn biết quan tâm tớitốc
độ củacácchương trình do mình viếtra
) Trong thậpniên60 và70, hạnchế chủ yếu đốivớihiệu
suấtcủa máy tính nằm ở kích thướccủabộ nhớ
Ö Tốithiểu hóa mã lệnh để chương trình thực thi nhanh hơn
Kiến trúc Máy tính - Chap 01
8
…
) Trong gần20 năm qua, những tiếnbộ trong thiếtkế máy
tính và công nghệ bộ nhớđãxóađihạnchế củabộ nhớ
kích thướcnhỏ
Ö Muốnchương trình thực thi nhanh hơncầnhiểuvàvậndụng
đượcbảnchất phân cấp ở bộ nhớ cũng như bảnchất song song
ở bộ xử lý
) Những nhà lập trình muốnviết ra các phiên bảncạnh
tranh về chương trình dịch, hệđiều hành, cơ sở dữ liệu,
và cảởcác chương trình ứng dụng cầnphảităng
cường hiểubiếtcủamìnhvề nguyên lý hoạt động và tổ
chứccủa các máy tính
Kiến trúc Máy tính - Chap 01
9
1.2 Bên dướicủachương trình
) Máy tính là bước phát triểnkế tiếpcủacácmạch logic
) Thông tin trên máy tính đượcbiểudiễnbởi các ký số nhị
phân hay bit (binary digit)
) Máy tính hoạt động tuân theo các chỉ thị của chúng ta.
Thuậtngữ dùng để gọicácchỉ thị riêng lẻ là câu lệnh
(instruction)
) Mỗicâulệnh là 1 chuỗixácđịnh các bit, (giống như 1 số
nhị phân) mà máy tính có thể hiểu được
•TD 1000110010100000 yêu cầu máy tính cộng 2 số nguyên
) Những nhà lậptrìnhđầutiêntruyền đạtchỉ thịđếnmáy
tính thông qua các con số nhị phân nói trên
• Đây là công việchếtsứctẻ nhạt
Kiến trúc Máy tính - Chap 01
10
…
) Công cụ lập trình dùng các số nhị phân để viếtracácchỉ
thị cho máy tính đượcgọilàngôn ngữ máy (machine
language)
) Con người nhanh chóng thay thế các số nhị phân bởi
các ký hiệugợinhớ (mnemonic), chúng là những ký
hiệugầnvới cách suy nghĩ của con ngườihơn
•TD sử dụng add A, B thay thế cho 1000110010100000
) Lúc đầu con người dùng tay để dịchcáckýhiệutrênra
số nhị phân rồi đem thực thi trên máy tính
) Sau đó, con người phát triểnmộtchương trình trợ giúp
việcdịch nói trên: assembler
) Công cụ lập trình dùng các ký hiệugợinhớ nhằmviếtra
các chỉ thị cho máy tính đượcgọilàhợpngữ (assemly
language)
Kiến trúc Máy tính - Chap 01
11
…
) Mỗi dòng trong hợpngữ là 1 câu lệnh để máy tính thực
thi. Lậptrìnhbằng hợpngữ buộcngườilậptrìnhphải
suy nghĩ hành động như mộtmáytính
•Cấp hành động như máy tính gọilàcấpthấp (low level)
•Ngônngữ máy và hợpngữ là các ngôn ngữ cấpthấp (low level
language)
) Theo hướng trên, ngườitalại đưa ra các ký hiệugần
với suy nghĩ của con ngườivàtạo nên các ngôn ngữ
cấpcao(high level language)
•TD A + B thay cho add A, B
) Sử dụng chương trình để dịch ngôn ngữ cấp cao sang
hợpngữ: chương trình dịch (compiler)
Kiến trúc Máy tính - Chap 01
12
…
Chương trình
viếtbằng C
Ngôn ngữ
máy
Chương trình
dạng hợpngữ
Compiler
Assembler
Kiến trúc Máy tính - Chap 01
13
…
) Ngôn ngữ cấp cao mang lạinhiềulợi ích quan trọng
• Cho phép ngườilập trình suy nghĩ dướidạng ngôn ngữ tự nhiên
(Anh ngữ, biểuthức toán, …): FORTRAN, COBOL, LISP
•Tăng đáng kể hiệunăng lậptrình: chương trình ngắnhơn, sáng
sủavàdễ hiểuhơn
•Ngônngữ cấpcaođộclập đốivới máy tính
) Khả năng tái sử dụng chương trình mang lạihiệuquả
cao hơnlàviết toàn bộ chương trình từđầu
Ö trình con, thư viện, thư việc các trình con xuất/nhập
) Ngườitanhậnthấyviệcthựcthicácchương trình trên
máy tính sẽ hiệuquả hơnnếucó1 chương trình đặc
biệtgiámsátthực thi cho các chương trình trên
Ö Hệđiềuhành(operating system)
Kiến trúc Máy tính - Chap 01
14
…
) Hệđiều hành là chương trình quản lý các tài nguyên của
máy tính hỗ trợ tốtnhấtchoviệcthựcthicủacác
chương trình khác nhau trên máy tính
) Phầnmềmcóthểđược phân loại theo tính năng sử
dụng
•Cácchương trình cung cấpdịch vụ chung cho các chương trình
khác đượcgọilàphầnmềmhệ thống (systems software)
Ö hệđiều hành, chương trình dịch, …
• Phầnmềm ứng dụng (applications software)
là các phầnmềm cung cấpdịch vụ cho các
ngườisử dụng máy tính (users)
Ö word, excel, photoshop, …
Kiến trúc Máy tính - Chap 01
15
1.3 Bên trong vỏ máy
) Khảosátmột máy tính để bàn
Bàn phím
Màn hình
Chuột
Webcam
Thùng máy
Kiến trúc Máy tính - Chap 01
16
…
) Chuột
Kiến trúc Máy tính - Chap 01
17
…
) Mànhình& card điềukhiển màn hình
•Hìnhảnh đượcthể hiệndướidạng ma trậncácphầntửảnh
(picture element) hay pixel
•Mỗipixel đươcbiểudiễnbởi 1 ma trậnbit còngọilàbit map
•Tùythuộcvàokíchthướcvàđộ phân giảicủa màn hình, ma trận
pixel có độ lớntừ 512 x 340 đến 1560 x 1280
•Chếđộ1 bit / pixel
•Chếđộ8 bit / pixel
•Chếđộ24 bit / pixel
•Bộ nhớ trên card điềukhiển
mànhìnhdùngđể chứa
thông tin bit map gọilà
raster refresh buffer
hay frame buffer
Kiến trúc Máy tính - Chap 01
18
…
) Thùng máy
Nguồn
Motherboard
Bộ xử lý
Bộ nhớ
Đĩacứng
Võ máy
Kiến trúc Máy tính - Chap 01
19
…
) Motherboard
Mạch tích hợp ( IC hay chip)
Khe cắm
( slot )
Connector
Kiến trúc Máy tính - Chap 01
20
…
) Bộ nhớ (memory)
•Chứachương trình thựcthivàcácdữ liệucầnthiết trong quá
trình thựcthi
•Có2 loạibộ nhớ: ROM và RAM
• Trên motherboard có 2 loạibộ nhớ RAM
* Bộ nhớ chính (công nghệ DRAM) có dung lượng lớnchứachương
trình và dữ liệuthựcthi
* Bộ nhớ Cache (công nghệ SRAM) có tốc độ nhanh, đóng vai trò bộ
đệmchobộ nhớ chính
Kiến trúc Máy tính - Chap 01
21
…
) Bộ xử lý (processor)
•Làphầntử tích cựcnhấtcủa máy tính số
• Đôi khi còn gọilàCPU (central processing unit)
•Gồm2 khối chính: khốidữ liệu (datapath) và
khối điềukhiển (control)
•Khốidữ liệuthựchiện các phép tính
•Khối điềukhiểnralệnh cho khốidữ liệu, bộ
nhớ, các thiếtbị xuất/nhập, thựchiệncáimà
câu lệnh củachương trình yêu cầu
Kiến trúc Máy tính - Chap 01
22
…
) Đĩacứng
Kiến trúc Máy tính - Chap 01
23
1.4 Mạch tích hợp
) Các công nghệ sử dụng trong chế tạo máy tính
) Mật độ tích hợptăng vớivậntốc chóng mặt
2.400.000VLSI (Very large scale integrated circuit)1995
900Mạch tích hợp(Integrated circuit)1975
35Đèn bán dẫn(Transistor)1965
1Đèn điệntử (Vacuum tube)1951
Hiệuquả/Giá thànhCông nghệ sử dụngNăm
100.000
10.000
1.000
100
10
K
b
i
t
c
a
p
a
c
i
t
y
1976
1978
1980
1982
1984
1986
1988
1990
1992
1994
1996
16K
64K
256K
1M
4M
16M
64M
Kiến trúc Máy tính - Chap 01
24
…
) Qui trình chế tạomạch tích hợp
Slicer
20 to 30
processing
steps
Dicer
Die
tester
Bond die
to package
Part
tester
Ship to customers
Si l i con i ngot
Pac kaged d i es
Bl ank waf er s
Patterned wafer
s
I ndi vi dual di es
Test ed d i es
Tes t ed pac k ag ed di es