DANH MỤC TÀI LIỆU
Tổng quan về cấu trúc máy tính và hợp ngữ
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 1
Chương 1
TNG QUAN V CU TRÚC MÁY TÍNH
1. Ngôn ng, cp máy và máy o (Language, level and
virtual machine)
1.1. Gii thiu
Máy tính s (Digital computer) là máy gii quyết các vn đề bng cách thc hin
các ch th do con người cung cp. Chui các ch th này gi là chương trình (program).
Các mch đin t trong mt máy tính s s thc hin mt s gii hn các ch th đơn gin
cho trước. Tp hp các ch th này gi là tp lnh ca máy tính. Tt c các chương trình
mun thc thi đều phi được biến đổi sang tp lnh trước khi được thi hành. Các lnh cơ
bn là:
- Cng 2 s.
- So sánh vi 0.
- Di chuyn d liu.
Tp lnh ca máy tính to thành mt ngôn ng giúp con người có th tác động lên
máy tính, ngôn ng này gi là ngôn ng máy (machine language). Tuy nhiên, hu hết các
ngôn ng máy đều đơn gin nên để thc hin mt yêu cu nào đó, người thiết kế phi
thc hin mt công vic phc tp. Đó là chuyn các yêu cu này thành các ch th có cha
trong tp lnh ca máy. Vn đề này có th gii quyết bng cách thiết kế mt tp lnh mi
thích hp cho con người hơn tp lnh đã cài đặt sn trong máy (built-in). Ngôn ng máy
s được gi là ngôn ng cp 1 (L1) và ngôn ng va được hình thành gi là ngôn ng cp
2 (L2).
Mt phương pháp thc thi chương trình L2 là chuyn mt lnh trong L2 bng mt
chui các lnh tương đương trong L1. Kết qu là s to thành mt chương trình L1 và
máy tính s thc hin chương trình tương đương L1 thay vì thc hin chương trình L2.
K thut này gi là biên dch (compile). Cách khác là mt lnh trong chương trình L2 s
được xem như d liu ngõ vào ca chương trình L1 và toàn b chương trình L2 s được
thc thi tun t. K thut này gi là thông dch (interprete), nó không yêu cu to ra mt
chương trình mi trong L1.
Biên dch và thông dch đều thc hin chương trình L2 thông qua tp lnh trong
chương trình L1. Chúng khác nhau ch là khi biên dch thì toàn b chương trình L2 s
được chuyn thành chui lnh L1 ri sau đó mi được thc thi còn đối vi phương pháp
thông dch thì s thc thi tng lnh trong L2. Để thun tin hơn, ta gi s tn ti mt máy
tính s dng ngôn ng máy là L2, ta gi máy tính này là máy o (virtual machine).
Tuy nhiên, trong thc tế, để có th thc hin biên dch và thông dch , các ngôn
ng L1 và L2 không được khác nhau nhiu. Như vy, ngôn ng L2 cũng không tht s
giúp ích nhiu cho người thiết kế. Do đó, mt tp lnh kế tiếp được hình thành s hướng
v con người nhiu hơn là máy tính, tp lnh này s to thành mt ngôn ng và ta gi là
ngôn ng L3. Ta có th viết các chương trình trong L3 nhưđã tn ti máy tính s dng
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 2
ngôn ng L3 (máy o L3). Các chương trình này s được dch sang ngôn ng L2 và được
thc thi bng mt chương trình dch L2.
Vic xây dng toàn b chui các ngôn ng, mi ngôn ng được to ra s thích hp
hơn ngôn ng trước đó s có th tiếp tc cho đến khi nhn được ngôn ng thích hp nht.
Sơ đồ mt máy o n cp có th biu din như sau:
Mt máy tính s có n cp có th xem như có n-1 máy o khác nhau, mi máy o có
mt ngôn ng máy riêng. Các chương trình viết trên các máy o này không th thc thi
trc tiếp mà phi dch thành các ngôn ng máy cp thp hơn. Ch có máy tht dùng ngôn
ng máy L1 mi có th thc thi trc tiếp bng các mch đin t. Mt lp trình viên s
dng máy o cp n không cn biết tt c các trình dch này. Chương trình trong máy o
cp n s được thc thi bng cách dch thành ngôn ng máy cp thp hơn và ngôn ng máy
này s được dch thành ngôn ng máy thp hơn na hay dch trc tiếp thành ngôn ng
máy L1 và thc thi trc tiếp trên các mch đin t.
Cp n
Cp 3
Cp 2
Cp 1
Máy o Mn dùng ngôn
ng máy Ln
Chương trình trong Ln đưc dch thành
ngôn ng ca máy cp thp hơn
Máy o M3 dùng ngôn
ng máy L3
Chương trình trong L3 đưc dch thành
ngôn ng L2 hay L1
Máy o M2 dùng ngôn
ng máy L2
Chương trình trong L2 đưc dch thành
ngôn ng máy L1
Máy tính s M1 dùng
ngôn ng máy L1
Chương trình trong L1 đưc thc thi
trc tiếp bng các mch đin t
Hình 1.1. Máy o n cp
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 3
1.2. Máy nhiu cp
Hu hết các máy tính hin nay gm có 6 cp:
Cp 0 chính là phn cng ca máy tính. Các mch đin t ca cp này s thc thi
các chương trình ngôn ng máy ca cp 1. Trong cp logic s, đối tượng quan tâm là các
cng logic. Các cng này được xây dng t mt nhóm các transistor.
Cp 1 là cp ngôn ng máy tht s. Cp này có mt chương trình gi là vi chương
trình (microprogram), vi chương trình có nhim v thông dch các ch th ca cp 2. Hu
hết các lnh trong cp này là di chuyn d liu t phn này đến phn khác ca máy hay
thc hin vic mt s kim tra đơn gin.
Mi máy cp 1 có mt hay nhiu vi chương trình chy trên chúng. Mi vi chương
trình xác định mt ngôn ng cp 2. Các máy cp 2 đều có nhiu đim chung ngay c các
máy cp 2 ca các hãng sn xut khác nhau. Các lnh trên máy cp 2 được thc thi bng
cách thông dch bi vi chương trình mà không phi thc thi trc tiếp bng phn cng.
Cp 5 Cp ngôn ng hướng vn đề
Dch (chương trình dch)
Cp 4 Cp ngôn ng hp dch
Dch (hp dch)
Cp 3 Cp h điu hành
Dch 1 phn (h điu hành)
Cp 2 Cp máy quy ước
Thông dch (vi chương trình)
Cp 1 Cp vi lp trình
Vi chương trình (phn
)
Cp 0 Cp logic s
Hình 1.2 – Các cp trên máy tính s
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 4
Cp th 3 thường là cp hn hp. Hu hết các lnh trong ngôn ng ca cp máy
này cũng có trong ngôn ng cp 2 và đổng thi có thêm mt tp lnh mi, mt t chc b
nh khác và kh năng chy 2 hay nhiu chương trình song song. Các lnh mi thêm vào
s được thc thi bng mt trình thông dch chy trên cp 2, gi là h điu hành. Nhiu
lnh cp 3 được thc thi trc tiếp do vi chương trình và mt s lnh khác được thông dch
bng h điu hành (do đó, cp này là cp hn hp).
Cp 4 tht s là dng tượng trưng cho mt trong các ngôn ng. Cp này cung cp
mt phương pháp viết chương trình cho các cp 1, 2, 3 d dàng hơn. Các chương trình
viết bng hp ng được dch sang các ngôn ng ca cp 1, 2, 3 và sau đó được thông dch
bng các máy o hay thc tương ng.
Cp 5 bao gm các ngôn ng được thiết kế cho người lp trình nhm gii quyết
mt vn đề c th. Các ngôn ng này được gi là cp cao. Mt s ngôn ng cp cao như
Basic, C, Cobol, Fortran, Lisp, Prolog, Pascal và các ngôn ng lp trình hướng đối tượng
như C++, J++, … Các chương trình viết bng các ngôn ng này thường được dch sang
cp 3 hay 4 bng các trình biên dch (compiler).
1.3. Quá trình phát trin ca máy nhiu cp
Các máy tính đầu tiên trong thp niên 40 ch có 2 cp: cp máy quy ước và cp
logic s. Các lp trình viên phi làm vic trên cp máy quy ước và chương trình được
thc thi trên cp logic s. Trong thp niên 50, Wikes đề xut ý tưởng thiết kế máy tính 3
cp. Máy tính này có mt trình thông dch cài đặt sn, không thay đổi, có nhim v thc
thi các chương trình trong cp máy quy ước. Như vy, phn cng ch thc thi các vi
chương trình vi s lnh gii hn nên các mch đin t cũng đơn gin hơn.
Trình dch hp ng (assembler) và các trình biên dch cho ngôn ng cp cao
(compiler) phát trin vào nhng năm 50 to điu kin d dàng hơn cho lp trình viên. Tuy
nhiên, vào lúc này, lp trình viên phi t điu hành máy. Vào nhng năm 60, vic t động
hóa công vic điu hành bt đầu được thc hin. Mt chương trình gi là h điu hành
(operating system) luôn được lưu trn trong máy tính. Lp trình viên cung cp các th
điu khin và chương trình, chúng s được đọc và thc thi bng h điu hành.
Trong nhiu năm tiếp theo, h điu hành càng tr nên phc tp. Các lnh, tin ích
đặc trưng mi được thêm vào cp máy quy ước cho đến khi xut hin mt cp mi.
Mt s lnh ca cp mi này ging như cp máy quy ước nhưng mt s lnh li hoàn toàn
khác, nht là các lnh xut nhp. Vào nhng năm đầu thp niên 60, các nghiên cu đại
hc Dartmouth, MIT đã phát trin các h điu hành cho phép lp trình viên có th tác
động trc tiếp lên máy tính. Trong các h thng này, thiết b đầu cui t xa đưc ni vi
máy tính trung tâm qua các đường đin thoi. Mt lp trình viên có th gõ chương trình
và nhn kết qu tr v tc thi bt c nơi nào có thiết b đầu cui. Các h thng này gi
là h thng chia s thi gian (time-sharing system).
2. Phn cng và phn mm (Hardware and software)
Các chương trình viết bng ngôn ng máy (cp 1) được thc thi trc tiếp bng các
mch đin t ca máy tính, không có trình thông dch và biên dch nào can thip vào. Các
mch đin t cùng vi b nh và các thành phn xut / nhp to nên phn cng máy tính.
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 5
Phn cng bao gm các mch tích hp, các board mch in, cable, ngun cung cp, b
nh, thiết b đầu cui, …
Phn mm bao gm các gii thut và các biu din ca các gii thut này gi là
chương trình. Nó chính là tp hp các lnh to thành mt chương trình, ch không phi là
các phương tin vt lý lưu tr chúng.
Mt dng trung gian gia phn mm và phn cng gi là phn do (firmware). Nó
chính là thành phn bao gm phn mm được đặt vào bên trong các mch đin t trong
quá trình sn xut. Phn do được dùng khi chương trình không thay đổi hay hiếm khi
phi thay đổi như chương trình điu khin đặt trong ROM BIOS.
Mt thao tác bt k thc thi bng phn mm có th được gn trc tiếp vào phn
cng và mt lnh bt k thc thi bng phn cng cũng có th được mô phng bng phn
mm. Quyết định đặt mt s chc năng vào phn mm và các chc năng khác vào phn
cng da trên các yếu t giá thành, tc độ, độ tin cy. Trên nhiu máy tính đầu tiên, phn
cng và phn mm được phân bit rõ ràng. Phn cng thc hin vài lnh đơn gin như
cng và nhy, các th tc khác phi do lp trình viên t thiết kế. Sau đó, mt s thao tác
thường xuyên thc thi đòi hi các nhà thiết kế hướng đến yêu cu xây dng các mch
đin t thc thi các thao tác này. Kết qu là hình thành xu hướng di chuyn các thao tác
theo hướng t cp cao xung cp thp hơn. Mt s thao tác trước đây được lp trình cp
máy quy ước, sau đó được chuyn xung thc thi phn cng.
Tuy nhiên, khi xut hin thế h máy tính dùng vi lp trình và thế h máy tính nhiu
cp, li xut hin xu hướng ngược li, nghĩa là di chuyn các thao tác t cp thp lên cp
cao hơn. Ví d như lnh cng s được thc hin trc tiếp bng phn cng các máy trước
kia. Đối vi máy tính được vi lp trình hóa, lnh cng ca cp máy quy ước được thông
dch bng mt vi chương trình chy trên cp thp nht và được thc thi bng mt chui
các bước nh: tìm lnh, np lnh, xác định lnh, định v d liu, tìm và np d liu t b
nh, thc thi phép cng và lưu tr kết qu.
Mt s đặc trưng trước đây được lp trình cp máy quy ước, sau đó được thc
hin bng phn cng hay vi chương trình:
- Các lnh nhân, chia s nguyên.
- Các lnh x lý du chm động.
- Các lnh gi th tc và quay v t lnh gi th tc.
- Các lnh đếm.
- Các lnh qun lý chui ký t.
- Các đặc trưng làm tăng tc độ tính toán chui: định địa ch ch sđịnh địa
ch gián tiếp.
- Các đặc trưng cho phép chương trình di chuyn trong b nh sau khi đã thc
thi (cp phát li b nh).
- Các xung clock cho th tc định thi.
- Các ngt báo hiu cho máy tính.
Tài liu Cu trúc máy tính & Hp ng Tng quan v h thng máy tính
GV: Phm Hùng Kim Khánh Trang 6
- Kh năng chuyn đổi quá trình.
Như vy, ta thy ranh gii gia phn cng và phn mm là không nht định và
thường xuyên thay đổi. Theo quan đim ca lp trình viên, cách thc thc thi mt lnh là
không quan trng, ngoi tr tc độ thc thi. Như vy, phn cng ca người này có th
phn mm ca người kia.T đó dn đến ý tưởng thiết kế máy tính có cu trúc (structured
computer). Đó là cu trúc mt máy tính thành mt chui các cp, lp trình viên làm vic
trên cp n không quan tâm đến các cp khác.
3. T chc h thng máy tính
3.1. Cu trúc mt h thng máy tính
Sơ đồ khi ca mt h thng máy vi tính có th mô t như hình v. Nó bao gm
các khi:
CPU
B nh trong
ROM RAM
Giao tiếp
nhp
Thiết b nhp:
- Bàn phím
- Chut
- Scanner
- đĩa …
Giao tiếp
xut
Thiết b xut:
- Màn hình
- Máy in
- Máy v
- đĩa …
Bus h thng
Thiết b ngoi
i
Hình 1.3 – Sơ đồ khi mt h thng máy tính
thông tin tài liệu
Tài liệu cung cấp những kiến thức chung về cấu trúc máy tính và các ngôn ngữ lập trình
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×