3. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
1 GiÓi thiªu
Hiªu sußt là mËi quan tâm hàng ¶u trong mÂi lænh v¸c. Lænh v¸c máy tính không n¨m ngoài xu
th∏ ó. Các công ty s£n xußt luôn chú trÂng ∏n viªc c£i thiªn hiªu sußt cıa máy tính ∫ máy tính
ngày càng nhanh và ho§t Îng hiªu qu£ hÏn. CPU (bÎ x˚ l˛ trung tâm) là ph¶n quan trÂng nhßt cıa
mÎt máy tính.
Vì v™y, ph¶n lÓn nÈ l¸c ˜Òc t™p trung vào c£i ti∏n hiªu sußt th¸c thi cıa CPU. ThÌi gian th¸c
thi cıa mÎt ch˜Ïng trình trên CPU phˆ thuÎc vào nhi∑u y∏u tË nh˜ t™p lªnh cıa ch˜Ïng trình, sË
chu k˝ th¸c thi trung bình trên mÎt lªnh và thÌi gian cıa mÎt chu k˝. Trên th¸c t∏, nhi∑u ˛ t˜ng
cho viªc thi∏t k∏ bÎ vi x˚ l˛ ã ˜Òc hiªn th¸c, d®n tÓi nhi∑u ki∏n trúc ã ˜Òc t§o ra.
Bài vi∏t này s≥ trình bày và so sánh hai ki∏n trúc phÍ bi∏n và i∫n hình trong sË ó là CISC và
RISC. T¯ ó i tÓi viªc ánh giá s¸ phù hÒp cıa mÈi ki∏n trúc vÓi các yêu c¶u cˆ th∫ khi hiªn th¸c
ph¶n c˘ng. Cßu trúc bài vi∏t ˜Òc trình bày nh˜ sau:
1. Ch˜Ïng 1 giÓi thiªu mˆc tiêu, cßu trúc cıa bài vi∏t.
2. Ch˜Ïng 2 trình bày các khái niªm cÏ b£n v∑ ki∏n trúc RISC và CISC.
3. Ch˜Ïng 3 giÓi thiªu các tiêu chí ∫ so sánh gi˙a hai ki∏n trúc RISC và CISC.
4. Ch˜Ïng 4 ˜a ra các nh™n ‡nh, ánh giá, phân tích ˜u nh˜Òc i∫m, cÙng nh˜ h˜Óng phát tri∫n
cıa t¯ng ki∏n trúc.
5. Ch˜Ïng 5 k∏t lu™n.
So sánh ki∏n trúc RISC và CISC Trang 1/14
4. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
2 Khái niªm
2.1 ‡nh nghæa
2.1.1 CISC
Ki∏n trúc CISC (Complex Instruction Set Computer) là ki∏n trúc cıa bÎ vi x˚ l˛ vÓi mÎt t™p các
lªnh ph˘c t§p. MÈi mÎt lªnh có th∫ th¸c hiªn ˜Òc nhi∑u hÏn mÎt tác vˆ nh˜ Âc d˙ liªu t¯ bÎ nhÓ,
tính mÎt phép toán và ghi l§i k∏t qu£ tr l§i bÎ nhÓ. Mˆc tiêu chính cıa ki∏n trúc CISC là th¸c
hiªn mÎt công viªc vÓi càng ít lªnh càng tËt.
MÎt vài ví dˆ v∑ vi x˚ l˛ có ki∏n trúc CISC : System/360, PDP-11, VAX 8600, Motorola68000,
Intel 8085 và x86.
2.1.2 RISC
Ki∏n trúc RISC (Reduced Instruction Set Computer) là mÎt ph˜Ïng pháp thi∏t k∏ các bÎ vi x˚ l˛
theo h˜Óng Ïn gi£n hóa t™p lªnh, trong ó thÌi gian th¸c thi tßt c£ các lªnh ∑u nh˜ nhau. i∑u ó
có nghæa là ki∏n trúc này có ít lªnh hÏn và mÎt công viªc s≥ ph£i ˜Òc th¸c hiªn bi mÎt ho∞c mÎt sË
lªnh Ïn gi£n hÏn. Mˆc tiêu chính cıa ki∏n trúc RISC làm t´ng hiªu sußt khi k∏t hÒp vÓi
ki∏n trúc vi x˚ l˛, mÈi lªnh s≥ ˜Òc th¸c thi trong mÎt sË ít chu k˝ hÏn, d®n ∏n thÌi gian
th¸c hiªn toàn bÎ ch˜Ïng trình không b‡ t´ng lên so vÓi ch˜Ïng trình ch§y trên ki∏n trúc CISC.
MÎt vài ví dˆ v∑ vi x˚ l˛ có ki∏n trúc RISC: Atmel AVR, MICHROCHIP 16F XX Series, ARM,
SuperH, MIPS, SPARC, DEC Alpha, PIC và PowerPC cıa IBM.
2.2 L‡ch s˚ phát tri∫n
2.2.1 CISC
˜Òc giÓi thiªu vào ¶u nh˙ng n´m 1960, trong thÌi i∫m này, viªc s£n sußt ph¶n c˘ng dπ hÏn
nhi∑u so vÓi s£n xußt ph¶n m∑m, vì th∏ mÂi ˜u tiên ∑u t™p trung vào phát tri∫n ph¶n c˘ng.
Tr˜Óc khi ki∏n trúc RISC ra Ìi và th‡nh hành, nhi∑u nhà phát tri∫n ã cË g≠ng thi∏t k∏ nh˙ng
t™p lªnh hÈ trÒ tr¸c ti∏p nh˙ng ngôn ng˙ b™c cao. Cho phép gÂi hàm, i∑u khi∫n l∞p, ánh dßu ‡a
chø ph˘c t§p ˜Òc truy xußt tr¸c ti∏p cßu trúc d˙ liªu và m£ng ˜Òc tÍ hÒp trong mÎt t™p lªnh. Do
ó m™t Î thông tin trong mÎt mã lªnh cÙng khá cao.
MÎt lªnh có th∫ th¸c thi nhi∑u ch˘c n´ng và mÎt trong nh˙ng nguyên nhân ph¶n lúc này bÎ nhÓ
còn b‡ giÓi h§n v∑ kích th˜Óc bi chi phí cıa mÈi byte bÎ nhÓ còn quá ≠t. Do ó t´ng l˜Òng thông
tin trong mÎt mã lªnh có th∫ gi£m truy sußt t¯ bÎ nhÓ cÙng nh˜ gi£m gánh n∞ng lên bÎ nhÓ.
Tuy nhiên viªc phát tri∫n nh˙ng t™p lªnh có thông l˜Òng lÓn, giá r¥ cÙng nh˜ cho phép nh˙ng
ngôn ng˙ b™c cao có th∫ x˚ l˛ trên ít t™p lªnh hÏn không ph£i lúc nào cÙng hiªu qu£. Bi vì mÎt sË
ki∏n trúc có th∫ s˚ dˆng nh˙ng t™p lªnh Ïn gi£n tu¶n t¸ thay vì nh˙ng t™p lªnh ph˘c t§p ∫ có th∫
gia t´ng hiªu sußt.
2.2.2 RISC
Các d¸ án RISC sau ó ˜Òc th¸c hiªn bi IBM, Stanford và UC-Berkeley vào cuËi n´m 1970 ∏n
n´m 1980, cˆ th∫ là IBM 801, Stanford MIPS và Barkeley RISC.
D¸ án IBM 801 b≠t ¶u vào n´m 1975 và hoàn thành vào n´m 1980, cho ra Ìi chip vi x˚ l˛
ROMP ˜Òc s˚ dˆng trong máy tính IBM RT-PC vào n´m 1986.
Tuy nhiên, thi∏t k∏ RISC ˜Òc nhi∑u ng˜Ìi bi∏t ∏n nhßt ∏n nhßt xußt phát t¯ các ch˜Ïng trình
nghiên c˘u các tr˜Ìng §i hÂc, i∫n hình là Berkeley RISC §i hÂc California và MIPS §i hÂc
Stanford.
D¸ án Berkeley RISC b≠t ¶u vào n´m 1980 bi David Patterson và Carlo H. Sequin, vÓi kh£
n´ng nâng cao hiªu sußt cıa các bÎ vi x˚ lí b¨ng kˇ thu™t ˜Ìng Ëng (pipeline) và c˚a sÍ thanh ghi
(register window). D¸ án này cho ra Ìi vi x˚ lí RISC-I vào n´m 1982, vÓi 44 420 transistor vÓi t™p
lªnh chø có 32 lªnh. RISC-II ra Ìi vào n´m 1983, vÓi 40 760 transistor, t™p lªnh gÁm 39 lªnh và nhanh
So sánh ki∏n trúc RISC và CISC Trang 2/14
5. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
hÏn gßp 3 l¶n.
CÙng trong cùng thÌi gian ó, d¸ án MIPS ˜Òc th¸c hiªn bi Join L. Hennessy t§i §i hÂc
Stanford và n´m 1981, t™p trung chı y∏u vào kˇ thu™t ˜Ìng Ëng (Pipeline) ∫ tËi ˜u bÎ vi x˚ lí. Hª
thËng hoàn chønh ˜Òc hoàn thành vào n´m 1983, và có th∫ th¸c thi các ch˜Ïng trình Ïn gi£n vào
n´m 1984.
D¸ án 801 cıa IBM ˜Òc ˘ng dˆng trong máy tính RT-PC vÓi chip ROMP dù sau ó không thành
công v∑ m∞t th˜Ïng m§i nh˜ng ã t§o ti∑n ∑ cho ki∏n trúc t™p lªnh IBM Power, ˜Òc s˚ dˆng trong
chip PowerPC sau này. ây là mÎt trong nh˙ng h vi x˚ lí ˜Òc s˚ dˆng rßt phÍ bi∏n trong các xe
hÏi. Các máy tính cıa Apple cÙng s˚ dˆng h vi x˚ lí này mãi cho ∏n n´m 2006.
Dù không ˜Òc th˜Ïng m§i hóa, nh˜ng ki∏n trúc RISC-II ˜Òc khá nhi∑u công ty áp dˆng vào
thÌi i∫m ó, i∫n hình nhßt là Sun Microsystem vÓi vi x˚ lí SPARC. H¶u h∏t các chip RISC ngày
nay cÙng ∑u ˜Òc thi∏t k∏ d¸a trên ki∏n trúc RISC-II cıa Berkeley. N´m 2010, d¸ án ki∏n trúc t™p
lªnh mã nguÁn m RISC-V ˜Òc b≠t ¶u và hiªn v®n ang ti∏p tˆc ˜Òc phát tri∫n.
D¸ án MIPS cıa §i hÂc Stanford sau ó ˜Òc ti∏p nËi vÓi tên MIP-X và th˜Ïng m§i hóa vÓi vi
x˚ lí R2000 vào n´m 1985, R3000 vào n´m 1986, rßt phÍ bi∏n trong các máy chÏi game Nintendo 64
Console và PlayStation.
Ngày này, dù không ˜Òc s˚ dˆng trong m£ng PC và Server (vËn ˜Òc thËng tr‡ bi n∑n t£ng x86
cıa Intel) nh˜ng các vi x˚ lí RISC v®n ˜Òc s˚ dˆng khá phÍ bi∏n trong Ìi sËng, i∫n hình nhßt là
trong các hª thËng nhúng công sußt thßp có th∫ tìm thßy xe hÏi, iªn tho§i di Îng, thi∏t b‡ iªn
t˚ dân dˆng. . .
2.3 Nguyên lí thi∏t k∏
2.3.1 CISC
CISC ˜Òc thi∏t k∏ d¸a trên ba nguyên l˛: s˚ dˆng Microcode, xây d¸ng mã lªnh ˜Òc tích hÒp và
xây d¸ng t™p lªnh b™c cao.
• Microcode: Trong l™p trình hª thËng microcode, t™p lªnh t˜Ïng ˘ng vÓi mÈi ngôn ng˙ máy khác
nhau. Vì v™y khi mÎt t™p lªnh cıa ngôn ng˙ máy bßt k˝ ˜Òc n§p vào bÎ x˚ l˛, nó chø th¸c thi
nh˙ng lªnh t˜Ïng ˘ng ˜Òc tích hÒp vào bÎ nhÓ tr˜Óc ó.
• Xây d¸ng mã lªnh ˜Òc tích hÒp: B¨ng cách s˚ dˆng microcode, nhà thi∏t k∏ có th∫ tích hÒp
nhi∑u ch˘c n´ng cho mÈi lªnh. Do ó, ch˜Ïng trình có kh£ n´ng gi£m sË lªnh yêu c¶u khi th¸c
thi ch˜Ïng trình. Áng thÌi làm gi£m truy sußt ∏n bÎ nhÓ chính, vËn dæ ch™m và giÓi h§n trong
thÌi i∫m CISC ra Ìi.
• Xây d¸ng t™p lªnh cßp cao: tri∏t l˛ này cho phép nh˙ng nhà thi∏t k∏ xây d¸ng nh˙ng t™p lªnh
t˜Ïng ˘ng vÓi nh˙ng ngôn ng˙ b™c cao. Vì v™y trình biên d‡ch có th∫ ˜Òc tËi gi£n hÏn, câu
lªnh ˜Òc rút ng≠n.
∞c tr˜ng
• CISC có mÎt sË l˜Òng lÓn mã lªnh, thông th˜Ìng t¯ kho£ng 100 – 250.
• MÎt sË mã lªnh chø th¸c hiªn mÎt sË ch˘c n´ng chuyên biªt và rßt ít khi ˜Òc s˚ dˆng.
• Có mÎt sË l˜Òng lÓn thanh ‡a chø, thông th˜Ìng t¯ 5 – 20.
• Có th∫ thay Íi chi∑u dài cıa mã lªnh.
2.3.2 RISC
Các t™p lªnh ˜Òc thi∏t k∏ theo ki∏n trúc RISC khá a d§ng, ˜Òc ˘ng dˆng vào nhi∑u lænh v¸c khác
nhau. Theo thÌi gian, sË l˜Òng các lªnh, tính chßt t™p lªnh cÙng ˜Òc thay Íi khá nhi∑u ∫ áp ˘ng
nhu c¶u ngày càng cao cıa các ˘ng dˆng. Tuy nhiên, nhìn chung, các ví x˚ lí d¸a trên ki∏n trúc RISC
v®n có chung các ∞c i∫m sau ây:
So sánh ki∏n trúc RISC và CISC Trang 3/14
6. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
• T™p lªnh vÓi sË l˜Òng lªnh ít, bao gÁm các lªnh Ïn gi£n, a sË các lªnh ˜Òc th¸c hiªn trong
mÎt chu k˝
• Mˆc tiêu chính cıa ki∏n trúc RISC là t´ng hiªu n´ng x˚ lí cıa CPU thông qua viªc Ïn gi£n
hóa ki∏n trúc t™p lªnh. T™p lªnh ˜Òc thi∏t k∏ chø bao gÁm các lªnh Ïn gi£n và th˜Ìng s˚ dˆng
nhßt và a sË ˜Òc th¸c thi trong mÎt chu k˝ cıa bÎ x˚ lí.
• Ki∏n trúc Load-and-store: Trong t™p lªnh ˜Òc thi∏t k∏ theo ki∏n trúc RISC, chø có hai lªnh
LOAD và STORE là thao tác tr¸c ti∏p lên bÎ nhÓ, trong khi tßt c£ các lªnh khác ∑u thao tác
trên các thanh ghi. Các lªnh thông th˜Ìng do ó s≥ ˜Òc th¸c thi nhanh hÏn, và chø mÎt sË ít
các lªnh thao tác trên vùng nhÓ là có th∫ c¶n nhi∑u hÏn mÎt chu kì x˚ lí.
• S˚ dˆng mÎt sË cách ánh ‡a chø Ïn gi£n: RISC chø s˚ dˆng mÎt sË cách ánh ‡a chø Ïn
gi£n, cùng vÓi t™p lªnh Ïn gi£n và ˜Òc th¸c thi trong mÎt chu kì là i∑u kiªn c¶n thi∏t ∫
th¸c hiªn cÏ ch∏ pipeline trên bÎ vi x˚ l˛, t¯ ó nâng cao hiªu n´ng th¸c thi.
• Các lªnh có cùng ‡nh d§ng và Î dài cË ‡nh: T™p lªnh thi∏t k∏ theo ki∏n trúc RISC có cùng
Î dài (thông th˜Ìng là 32 bit), tuy nhiên cÙng có mÎt sË tr˜Ìng hÒp ngo§i lª, i∫n hình là vi
x˚ lí ROMP s˚ dˆng trong IBM PC-RT có t™p lªnh vÓi hai kích th˜Óc là 32 và 16 bit. i∑u này
£m b£o cho mÈi lªnh có th∫ ˜Òc d‡ch (decode) nhanh chóng và Ïn gi£n hÏn, do v‡ trí mã
lªnh (opcode) cÙng nh˜ Î dài mÈi lªnh là nh˜ nhau.
Viªc các lªnh có cùng Î dài cÙng giúp cho cÏ ch∏ pipeline ˜Òc hiªn th¸c dπ dàng hÏn thông
qua viªc xác ‡nh ˜Òc lªnh k∏ ti∏p mà không c¶n ph£i d‡ch hoàn chønh lªnh hiªn t§i.
• S˚ dˆng nhi∑u thanh ghi: Viªc s˚ dˆng nhi∑u thanh ghi ∫ l˜u các bi∏n và k∏t qu£ t§m cıa quá
trình tính toán s≥ gi£m các thao tác Âc/ghi vào bÎ nhÓ (vËn ch™m hÏn so vÓi thanh ghi). ây
cÙng là ˜u th∏ cıa ki∏n trúc RISC, vÓi t™p lªnh Ïn gi£n Áng nghæa vÓi viªc ph¶n c˘ng cıa vi
x˚ lí có th∫ hiªn th¸c dπ dàng hÏn và có nhi∑u không gian hÏn cho các thanh ghi.
• S˚ dˆng kˇ thu™t pipeline ∫ nâng cao hiªu n´ng: VÓi các ∞c i∫m ã trình bày các ph¶n
tr˜Óc, cˆ th∫ là t™p lªnh Ïn gi£n, các lªnh ˜Òc th¸c hiªn trong cùng mÎt chu k˝ và có cùng
‡nh d§ng, các vi x˚ lí ˜Òc thi∏t k∏ theo ki∏n trúc RISC có th∫ áp dˆng kˇ thu™t pipeline dπ
dàng hÏn rßt nhi∑u so vÓi ki∏n trúc CISC (s≥ ˜Òc trình bày ph¶n phˆ lˆc), t¯ ó nâng cao
hiªu n´ng cıa vi x˚ l˛. ây có th∫ ˜Òc xem nh˜ mÎt trong nh˙ng ∞c i∫m cÏ b£n cıa các vi
x˚ l˛ RISC.
So sánh ki∏n trúc RISC và CISC Trang 4/14
8. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
BÎ x˚ lí IBM 370/168 DEC 11/780 iAPX 432
N´m s£n xußt 1973 1978 1983
SË lªnh 208 303 222
BÎ nhÓ vi
ch˜Ïng trình
420 KB 480 KB 64 KB
Î dài lªnh
(tính b¨ng bit)
16 - 48 16 - 456 6 - 321
Kˇ thu™t ch∏
t§o
ECL - MSI TT1 - MSI NMOS VLSI
Cách th¸c hiªn
lªnh
Thanh ghi - thanh ghi Thanh ghi - thanh ghi Ng´n x∏p
Thanh ghi - bÎ nhÓ Thanh ghi - bÎ nhÓ BÎ nhÓ - bÎ nhÓ
BÎ nhÓ - bÎ nhÓ BÎ nhÓ - bÎ nhÓ
Dung l˜Òng
Cache
64KB 64KB 0
B£ng 1: ∞c tính cıa mÎt vài máy CISC
Hình 2: Ki∏n trúc RISC
BÎ x˚ lí IBM 801 DEC RISC1 MIPS
N´m s£n xußt 1980 1982 1983
SË lªnh 1200 39 55
BÎ nhÓ vi
ch˜Ïng trình
0 0 0
Î dài lªnh
(tính b¨ng bit)
32 32 32
Kˇ thu™t ch∏
t§o
ECL - MSI NMOS VLSI NMOS VLSI
Cách th¸c hiªn
lªnh
Thanh ghi - thanh ghi Thanh ghi - thanh ghi Thanh ghi - thanh ghi
Dung l˜Òng
Cache
64KB 64KB 0
B£ng 2: ∞c tính cıa mÎt vài máy RISC
So sánh ki∏n trúc RISC và CISC Trang 6/14
9. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
3.1.2 RISC
Trong ki∏n trúc cıa RISC, có th∫ thßy ph¶n control unit ã ˜Òc lo§i b‰, mà thay vào ó là nhúng
sÆn vào chip. Cache dùng cho d˙ liªu và chø lªnh là riêng l¥. Các máy RISC d¸a chı y∏u trên mÎt
t™p lªnh cho phép th¸c hiªn kˇ thu™t Ëng d®n mÎt cách thích hÒp nhßt b¨ng cách thi∏t k∏ các lªnh
có chi∑u dài cË ‡nh, có d§ng Ïn gi£n, dπ gi£i mã. Máy RISC dùng ki∫u th¸c hiªn lªnh thanh ghi -
thanh ghi. Chø có các lªnh ghi ho∞c Âc ô nhÓ mÓi cho phép thâm nh™p vào ô nhÓ. Còn ki∏n trúc
CISC thì Î dài lªnh là khác nhau.
Ví dˆ: IBM 370/168 có chi∑u dài lªnh là 16-48(bit), DEC 11/780 có chi∑u dài lªnh 16 – 456(bit),và
iAPX 432 chi∑u dài lªnh là 6 – 321(bit). . . ki∏n trúc CISC có rßt nhi∑u lªnh, ‡nh d§ng lªnh ph˘c
t§p.
Chúng ta xét ví dˆ: cÎng 1 vào vùng ‡a chø trong ki∏n trúc RISC thì các lªnh th¸c hiªn là:
• Âc vùng nhÓ (LOAD)
• cÎng thêm 1 (ADD)
• ghi l§i vùng nhÓ (STORE)
Còn ki∏n trúc CISC thì chø th¸c hiªn mÎt lªnh. i∑u khác biªt là CISC không c¶n tÓi nhi∑u
thanh ghi. Lªnh trên CISC có th∫ Âc tr¸c ti∏p giá tr‡ cıa vùng nhÓ vào ALU , th¸c hiªn t´ng lên 1
và l˜u l§i k∏t qu£ vào vùng nhÓ. Ëi vÓi RISC thì n∏u giá tr‡ ˜Òc Âc có sÆn thanh ghi thì không
c¶n lßy t¯ bÎ nhÓ, giá tr‡ sau khi t´ng lên 1 có th∫ l˜u tr¸c ti∏p thanh ghi mà không c¶n l˜u vào bÎ
nhÓ.
Tóm l§i s¸ khác biªt c´n b£n trong ki∏n trúc RISC và CISC là nguyên t≠c th¸c hiªn lªnh các
thanh ghi: Âc và l˜u d˙ liªu vào các thanh ghi. M∞t khác t™p lªnh ki∏n trúc CISC dài và ph˘c t§p
hÏn t™p lênh trong ki∏n trúc RISC, thÌi gian th¸c hiªn mÎt lªnh dài hÏn và không cË inh nh˜ ki∏n
trúc RISC.
3.2 M™t Î mã
Dæ nhiên kích th˜Óc mã không quan trÂng. Tr¯ khi b§n là mÎt nhà l™p trình nhúng ho∞c là mÎt
kˇ s˜, và b§n ph£i nhét 10k mã vào trong mÎt chíp chø có 5k mã, khi ó ép kích th˜Óc mã xuËng là
mÎt vßn ∑ lÓn. Nhi∑u nhà thi∏t k∏ hª nhúng ã Í nhi∑u ti∑n vào RAM và ROM cıa hª thËng hÏn
là vào bÎ vi x˚ l˛. BÎ nhÓ xác ‡nh (hay là giÓi h§n) ∞t i∫m cıa nhi∑u hª thËng. N∏u các nhà l™p
trình không th∫ ∞t v¯a mã vào bÎ nhÓ thì coi nh˜ xong.Khi ó m™t Î mã tr thành mÎt vßn ∑
lÓn. M™t Î mã mô t£ mã th¸c thi cıa mÎt ch˜Ïng trình ˜Òc óng gói ch∞t ch≥ ∏n m˘c nào, và nó
khác nhau áng k∫ gi˙a các dòng vi x˚ l˛. N∏u b§n không có kinh nghiªm v∑ i∑u này, b§n có th∫
nghæ r¨ng trình mÎt ch˜Ïng trình C ã ˜Òc biên d‡ch thì th¸c thi trên con chíp nào cÙng nh˜ nhau.
ó là sai l¶m lÓn.
Cùng mÎt ch˜Ïng trình C biên d‡ch cho các chíp khác nhau s≥ cho ra memory footprint hoàn toàn
khác nhau. ó không ph£i là lÈi hay là khuy∏t i∫m cıa trình biên d‡ch. ó là ∞c i∫m t¸ nhiên cıa
cácCPU. Và RISC thì cÙng nh˜ th∏.
B§n cÙng có th∫ thßy r¨ng các chíp CISC có m™t Î mã tËt hÏn so vÓi các chíp RISC. NhÓ là
nguyên l˛ chı §o cıa RISC ó là ph¶n c˘ng ph£i Ïn gi£n, tßt c£ các ho§t Îng ph˘c t§p ˜Òc th¸c
hiªn b¨ng ph¶n m∑m. i∑u ó có nghæa là chíp RISC cıa b§n s≥ c¶n nhi∑u ph¶n m∑m hÏn ∫ th¸c
hiªn cùng mÎt công viªc. H¶u h∏t các chíp RISC không có lªnh chia. N∏u b§n muËn chia 2 sË b§n
ph£i hiªn b¨ng ph¶n m∑m.
Trình biên d‡ch ph£i làm viªc b¨ng t™p lªnh mà ph¶n c˘ng ã cho. N∏u vi x˚ l˛ có t™p lªnh nh‰
trình biên d‡ch ph£i bù l§i b¨ng cách t§o ra nhi∑u ph¶n m∑m.
So sánh ki∏n trúc RISC và CISC Trang 7/14
10. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
3.3 Nén mã
MÎt l˛ do khác mà các chíp CISC có m™t Î mã tËt hÏn ó là bi vì chúng t™p lªnh có xu h˜Óng
˜Òc làm ng≠n hÏn. Theo ‡nh nghæa các chíp RISC 32-bit ph£i có t™p lªnh 32-bit. Còn mÎt chíp CISC
32-bit thì l§i khác, có th∫ có lªnh 8-bit, 16-bit, 32-bit và có c£ các lªnh dài hÏn n˙a. ây là mÎt trong
nh˙ng ∞c i∫m làm cho chíp CISC ph˘c t§p, nh˜ng i∑u ó cÙng làm cho nó th¸c t∏ hÏn trong các
hª thËng nhúng.
T§i sao b§n quan tâm ∏n sË bít cıa t™p lªnh ? Bi vì trong khi mÎt con 68020 có th∫ ∞t v¯a
mÎt lªnh ADD vào chø 8 bít cıa bÎ nhÓ ch˜Ïng trình thì mÎt con MIPS R400 l§i c¶n ∏n 32 bit, nh˜
th∏ là b§n ã ném i 3/4 bÎ nhÓ qu˛ giá cho mÈi l¶n ch˜Ïng trình th¸c hiªn cÎng hai sË vÓi nhau. Và
chíp MIPS không th∫ cÎng nhanh hÏn chíp 68K, do ó b§n cÙng chØng ˜Òc gì hÏn ngoài lÌi nói b§n
ang s h˙u mÎt hª thËng RISC. Trong thÌi gian g¶n ây mÎt sË nhà s£n xußt RISC ã ˜a ra gi£i
pháp thông minh ∫ gi£i quy∏t vßn ∑ này. Gi£i pháp này th˜Ìng ˜Òc gÂi là nén mã, nh˜ng ó chø là
s¸ dùng t¯ sai. Không có s¸ nén mã th¸c s¸, giËng nh˜ PKZIP. HÂ chø thay Íi t™p lªnh cıa chíp mÎt
ít sao cho không ph£i tßt c£ các lªnh ∑u dài 32 bít. 3 ví dˆ chính cho vßn ∑ này ó là ARM, ARC
Cores và MIPS. Chúng có các phiên b£n nén mã vÓi các tên gÂi t˜Ïng ˘ng là Thumb, ARCompact và
MIPS-16. Chúng ∑u thêm mÎt sË lªnh 16-bit vào t™p lªnh 32-bit. Trình biên d‡ch C cıa chúng bây
giÌ có th∫ l¸a chÂn dùng các lªnh 16-bit ∫ làm cho mã th¸c thi nh‰ hÏn.
Nh‰ hÏn bao nhiêu tùy thuÎc vào nhi∑u th˘. Và nh˜ b§n ã thßy, ti∏p th‡ b¨ng cách thÍi phÁng
chØng bao giÌ dπ c£. Tuy nhiên trong các th˚ nghiªm th¸c t∏ Î nén trung bình kho£ng 20% ∏n
30% và tùy thuÎc vào ch˜Ïng trình. Nh≠c b§n r¨ng ó chø là s¸ nén cıa không gian mã, vùng d˙ liªu
không ˜Òc nén. Tuy nhiên ó v®n là mÎt h˜Óng úng ∫ làm cho ki∏n trúc RISC hßp d®n hÏn nh˙ng
gì mà chúng ã có.
Trong hai tr˜Ìng hÒp (ARM Thumb và MIPS MIPS-16) mã th¸c thi ph£i xác ‡nh rõ ràng gi˙a
ch∏ Î 32-bit và 16-bit. B§n không th∫ trÎn l®n hai lo§i lªnh này vÓi nhau, do ó b§n ph£i cách ly
o§n mã ch§y b¨ng các phép toán 16-bit ra kh‰i o§n mã ch§y b¨ng các lªnh 32-bit.
B§n thßy ßy, cân b¨ng gi˙a t™p lªnh ng≠n hÏn là s¸ giÓi h§n cıa nó. Ví dˆ, mã 16-bit không
th∫ x˚ l˛ ng≠t, qu£n l˛ cache, qu£n l˛ bÎ nhÓ, ho∞c nh£y. May m≠n là trình biên d‡ch cho Thumb
và MIPS-16 ã lo§i tr¯ các vßn ∑ này. ARCompact cıa ARC không có s¸ giÓi h§n này bi vì nó
không chuy∫n Íi gi˙a hai ch∏ Î. Nó trÎn l®n c£ hai kích th˜Óc, do ó b§n không ph£i vßt v£ tách
rÌi ch˜Ïng trình cıa b§n.
MÎt i∫m khác n˙a, cách gi£i quy∏t cıa IBM cho các chíp PowerPC nhúng ó là CodePack. Không
nh˜ các t™p lªnh nén khác, IBM th¸c s¸ nén mã nh‡ phân th¸c thi cıa nó, giËng nh˜ là s˚ dˆng PKZIP
∫ nén v™y. B§n nén ch˜Ïng trình sau khi compliled, assembled và linked. RÁi l˜u phiên b£n ˜Òc nén
này vào ROM ho∞c æa. Ch≠c ch≠n là các chíp PowerPC nhúng ph£i có thêm ph¶n c˘ng ∫ gi£i nén
và ném chúng vào bÎ nhÓ.
Th˘ nhßt s≥ hoàn toàn không dò ˜Òc mã, bi vì nó không ˜Òc l˜u tr˙ theo ‡nh d§ng mã thông
th˜Ìng. Mã ã b‡ nén i∑u này làm cho nó khó b‡ disassemble. ó có th∫ là mÎt thu™n lÒi n∏u b§n
muËn b£o vª mã kh‰i nh˙ng c∞p m≠t tò mò. CodePack mã hóa ph¶n m∑m hiªu qu£ nh˜ nén ph¶n
m∑m v™y.
Th˘ hai, bi vì ph£i gi£i nén ph¶n m∑m khi ang th¸c thi, ôi khi có th∫ mßt thÌi gian lâu hÏn
d¸ oán. Viªc x˚ l˛ lªnh r≥ nhánh và nh£y th¸c s¸ ph£i khéo léo, bi vì ích cıa lªnh r≥, s≥ không dπ
dàng xác ‡nh ˜Òc khi nó b‡ mã hóa, có th∫ n¨m âu ó trong ROM.
Th˘ ba, vÓi mÈi ch˜Ïng trình CodePack dùng mÎt chìa khóa nén riêng do ó các ch˜Ïng trình
khác nhau s≥ nén hoàn toàn khác nhau. i∑u ó có nghæa là mã nh‡ phân ã nén không th∫ th¸c thi
˜Òc trên mÎt chíp PowerPC khác tr¯ khi b§n cung cßp chìa khóa.
CuËi cùng, CodePack có cùng hª sË nén 30% nh˜ ARC, ARM và MIPS. VÓi tßt c£ Î ph˘c t§p
cıa nó, nó chØng tËt hÏn áng k∫. Tuy nhiên cÙng áng khâm phˆc IBM bi vì h 㠘a ra vài th˘
hoàn toàn khác.
So sánh ki∏n trúc RISC và CISC Trang 8/14
11. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
3.4 N´ng l˜Òng
MÎt trong nh˙ng thu™n lÒi cıa các chíp RISC là chúng có s¸ tiêu thˆ n´ng l˜Òng thßp. Nh˜ mÎt
lu™t lª các chíp RISC dùng ít n´ng l˜Òng hÏn nhi∑u so vÓi CISC. i∑u này là rõ ràng: thi∏t k∏ cıa vi
x˚ l˛ RISC là Ïn gi£n hÏn và hÒp l˛ hÏn thì ph£i dùng n´ng l˜Òng ít hÏn.
i∫m này rßt quan trÂng n∏u b§n ang làm các smart card, thermostat, ho∞c cell phone.
M™t Î mã óng mÎt vai trò trong tiêu thˆ n´ng l˜Òng, do ó chíp có m™t Î mã tËt hÏn có th∫
s˚ dˆng ít n´ng l˜Òng hÏn bi vì chúng không c¶n mßt nhi∑u thÌi gian ∫ truy c™p bÎ nhÓ. MÈi l¶n
tìm n§p ROM ho∞c Âc/ghi RAM s≥ tiêu thˆ mÎt ít n´ng l˜Òng. Càng gi£m thi∫u i∑u này thì càng
tËt. Có th∫ nói r¨ng t´ng 2 l¶n m™t Î mã là t´ng 2 l¶n tiêu thˆ n´ng l˜Òng.
3.5 Hiªu sußt
Hiªu sußt là mÎt vßn ∑ lÓn mà ai cÙng nh≠m tÓi. Hiªu sußt tËt hÏn là mÎt trong nh˙ng lÒi ích
chính cıa RISC, do ó mà các chíp RISC luôn nhanh hÏn, úng không ? Không !
CuÎc ua gi˙a các vi i∑u khi∫n không Ïn gi£n, bi vì mÂi ng˜Ìi quan tâm ∏n các lo§i hiªu sußt
khác nhau. Ví dˆ, chíp nào tËt cho x˚ l˛ media có th∫ không tËt cho x˚ l˛ m§ng. Th∏ ı ∫ nói r¨ng
không có mÎt vi x˚ l˛ nào xußt s≠c v∑ mÂi m∞t. MÈi t™p lªnh CPU là mÎt s¸ th‰a hiªp.
So sánh ki∏n trúc RISC và CISC Trang 9/14
12. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
4 ánh giá
4.1 ◊u nh˜Òc i∫m cıa ki∏n trúc RISC
4.1.1 ◊u i∫m
• Diªn tích dành cho vi x˚ l˛ RISC là 10%, ít hÏn nhi∑u so vÓi CISC là 60%. Do ó, các thành
ph¶n nh˜ thanh ghi, các cÍng ra vào và bÎ nhÓ cache,. . . có th∫ tích hÒp dπ dàng hÏn.
• Viªc s˚ dˆng thanh ghi h§n ch∏ truy xußt nhi∑u vào bÎ nhÓ, viªc th¸c hiªn kˇ thu™t Ëng d®n
liên tˆc và hiªu qu£ vì các lªnh ∑ có thÌi gian th¸c hiªn giËng nhau, cùng d§ng cùng vÓi viªc
gi£i mã lªnh Ïn gi£n nên tËc Î tính toán s≥ nhanh hÏn.
• BÎ i∑u khi∫n cıa RISC tr nên Ïn gi£n hÏn. Viªc Ïn gi£n hÏn thì rıi ro khi thi∏t k∏ cÙng
gi£m i. Áng thÌi, thÌi gian thi∏t k∏ cÙng s≥ ng≠n hÏn nhi∑u.
• TËc Î x˚ l˛ t´ng lên áng k∫. Khi ta ∞t ra các chø lªnh ph˘c t§p, tuy nó g¶n gÙi vÓi ngôn
ng˙ cßp cao, nh˜ng nh˜ th∏, vô tình cÙng làm các chø lªnh khác ph˘c t§p lên, và ∫ th¸c thi 1
chø lªnh nh˜ v™y c¶n tËn nhi∑u chu kì xung nh‡p. Trong khi ó n∏u dùng RISC chø mßt 1 chu
kì xung nh‡p cho mÈi lªnh, khi phân nh‰ vßn ∑ ph˘c t§p thành vßn ∑ Ïn gi£n thì cách gi£i
quy∏t s≥ tËt hÏn.
4.1.2 Nh˜Òc i∫m
Nh˜Òc i∫m lÓn nhßt cıa RISC là s≥ làm ch˜Ïng trình dài ra hÏn so vÓi ch˜Ïng trình vi∏t cho vi x˚
l˛ CISC, vì:
• RISC chø cho phép lªnh Âc và ghi truy xußt vào bÎ nhÓ. Do ó, ∫ th¸c hiªn mÎt thao tác nhßt
‡nh buÎc ph£i dùng nhi∑u lªnh trung gian.
• T™p lªnh có ít lªnh nên các lªnh không có sÆn ph£i ˜Òc thay th∏ b¨ng mÎt chuÈi lªnh cıa bÎ
x˚ l˛ RISC.
• Các ch˜Ïng trình d‡ch g∞p nhi∑u khó kh´n vì có ít lªnh làm cho có ít l¸a chÂn ∫ diπn d‡ch các
cßu trúc cıa ch˜Ïng trình gËc. S¸ c˘ng nh≠c cıa kˇ thu™t Ëng d®n cÙng gây khó kh´n.
• Viªc tính các ‡a chø hiªu dˆng là c¶n thi∏t vì không có nhi∑u cách ‡nh v‡.
• Có ít lªnh trÒ giúp cho ngôn ng˙ cßp cao.
• T™p lªnh cıa RISC không phong phú b¨ng CISC, nh˜ v™y khi c¶n thi∏t k∏ mÎt ch˜Ïng trình
nào ó mà không có lªnh c¶n thi∏t thì ph£i thông qua mÎt lo§t các lªnh khác làm t´ng lên sË
chu k˝ xung nh‡p c¶n thi∏t, t˘c là làm ch™m hª thËng i.
• Cßm thâm nh™p bÎ nhÓ Ëi vÓi tßt c£ các lªnh ngo§i tr¯ các lênh Âc ghi bÎ nhÓ. Do ó ta ph£i
dùng nhi∑u lªnh ∫ làm mÎt công viªc nhßt ‡nh.
• C¶n thi∏t ph£i tính các ‡a chø hiªu dˆng vì không có nhi∑u cách ‡nh v‡.
• Không th∫ th¸c thi các mã lªnh cıa X86, mÎt ki∫u ki∏n trúc ã quá thông dˆng và quen thuÎc
vÓi mÂi ng˜Ìi. Nh˜ v™y ∫ tích hÒp ph£i dùng các ph¶n m∑m hÈ trÒ n∑n cÏ s RISC, tuy nhiên
Ëi vÓi máy tính IBM có th∫ b‡ t¯ chËi.
So sánh ki∏n trúc RISC và CISC Trang 10/14
13. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
4.2 ◊u nh˜Òc i∫m cıa ki∏n trúc CISC
4.2.1 ◊u i∫m
• Ch˜Ïng trình trên máy CISC ng≠n hÏn so vÓi máy RISC.
• SË lªnh ∫ th¸c hiªn ch˜Ïng trình ít hÏn.
• Kh£ n´ng thâm nh™p bÎ nhÓ dπ dàng hÏn.
• Vi x˚ l˛ CISC trÒ giúp m§nh hÏn các ngôn ng˙ cao cßp nhÌ có t™p lªnh ph˘c t§p.
• Các format cıa t™p lªnh không cË ‡nh, có th∫ thay Íi ˜Òc.
4.2.2 Nh˜Òc i∫m
• Diªn tích cıa bÎ x˚ l˛ dùng cho bÎ i∑u khi∫n lÓn. Gi£m kh£ n´ng tích hÒp thêm vào vi x˚ l˛.
• TËc Î tính toán còn ch™m.
• ThÌi gian xây d¸ng xong bÎ vi x˚ l˛ là lâu hÏn do các câu lªnh ph˘c t§p. Và thÌi gian th¸c
hiªn lªnh lâu kh£ n´ng x£y ra rıi ro nhi∑u.
• MÎt lªnh có th∫ tr£i qua nhi∑u chu trình.
• S˚ dˆng rßt nhi∑u code ROM gi£i mã các chø lªnh (các chip mÓi ã c£i ti∏n).
• Không th∫ áp dˆng pipeline, ph£i th¸c thi tu¶n t¸ h∏t dòng lªnh này mÓi tÓi dòng lªnh khác.
4.3 ‡nh h˜Óng phát tri∫n
Tu˝ thuÎc vào mˆc ích s˚ dˆng mà có th∫ chÂn dòng chip phù hÒp và mÈi dòng ∑u có ˜u nh˜Òc
i∫m riêng cıa nó. N∏u nh˜ b‰ qua th‡ tr˜Ìng nhúng, chúng ta có th∫ thßy r¨ng trên 75% các máy
tính ngày nay (PC’s, Workstation và server) ∑u x˚ dˆng vi x˚ lí ki∏n trúc CISC, và phÍ bi∏n hÏn là
x86 (Intel, AMD,. . . ). Nh˜ng ∫ nói r¨ng CISC tËt hÏn RISC hay ng˜Òc l§i ∑u không có ı cÏ s,
bên c§nh vì ˘ng dˆng riêng cıa mÈi ki∏n trúc, còn ph£i k∫ ∏n s¸ hÂc h‰i l®n nhau gi˙a hai ki∏n trúc.
Và càng v∑ sau này thì c£ hai ki∏n trúc này l§i có nhi∑u i∫m chung hÏn.
Trong mÎt t˜Ïng lai g¶n, ng˜Ìi ta ã nghæ ∏n chuyªn k∏t hÒp c£ hai ki∏n trúc l§i thành mÎt. i∑u
có có nghæa là RISC và CISC s≥ không còn là Ëi thı cıa nhau sau nhi∑u th™p kø qua, mà thay vào ó
là mÎt ki∏n trúc mÓi vÓi tên gÂi EPIC (Explicitly Parallel Instruction Computing) do Intel ∑ x˜Óng.
VÓi ki∏n trúc mÓi này, chúng ta có th∫ t˜ng t˜Òng r¨ng rào c£n gi˙a các n∑n t£ng s≥ b‡ xoá b‰ (quá
trình x˚ lí cıa bÎ vi x˚ lí là nh˜ nhau bßt k∫ là hª i∑u hành Windows hay Linux). Chúng ta có th∫
thßy ˜Òc mÎt cái k∏t không xa dành cho RISC, sau ó là CISC và cuËi cùng EPIC lên ngôi.
So sánh ki∏n trúc RISC và CISC Trang 11/14
14. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
5 K∏t lu™n
TÍng k∏t so sánh gi˙a hai ki∏n trúc RISC và CISC:
∞c i∫m CISC RISC
Tên ¶y ı Complex instruction set computer Reduced instruction set computer
T™p lªnh
T™p lªnh lÓn (100 - 300) vÓi
format không cË ‡nh (16-64
bits/instruction)
T™p lªnh nh‰ (d˜Ói 100) vÓi format
cË ‡nh (32 bits/instruction)
Î ph˘c t§p cıa
ph¶n m∑m
Rßt lÓn, vì có t™p lªnh lÓn Thßp, vì có t™p lªnh nh‰
Î ph˘c t§p cıa
vi x˚ lí
Rßt thßp, do s˚ dˆng ít thanh ghi
chung (General Purpose)
Rßt cao, do s˚ dˆng nhi∑u thanh ghi
chung (General Purpose)
Addressing mode 5 - 20 addressing modes 3 - 5 addressing modes
Thanh ghi chung
(General
Purpose)
8 - 24 32 - 192
Cache
MÎt bÎ nhÓ cache duy nhßt, dùng
chung cho lªnh và d˙ liªu
Hai bÎ nhÓ caches riêng biªt cho
lªnh và d˙ liªu
Code size Nh‰ LÓn
Clock rate 33 - 55 MHz, multi-clock cycle 50 - 150 MHz, single-clock cycle
Pipelining Không có Có
CPU control
Các bÎ x˚ lí cÙ có th∫ dùng con-
trol memory (ROM), các bÎ x˚ lí
sau này ˜Òc tích hÒp ngay trong
chip
˜Òc tích hÒp sÆn
Giá thành ≠t R¥
Tiêu thˆ n´ng
l˜Òng
Cao Thßp
§i diªn
System/360, PDP-11, VAX 8600,
Motorola68000, Intel 8085 và x86
Atmel AVR, MICHROCHIP 16F
XX Series, ARM, SuperH, MIPS,
SPARC, DEC Alpha, PIC và Pow-
erPC cıa IBM
B£ng 3: B£ng tÍng k∏t so sánh RISC và CISC
So sánh ki∏n trúc RISC và CISC Trang 12/14
15. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
6 Phˆ lˆc
6.1 CÏ ch∏ pipeline
∫ hi∫u hÏn v∑ các các vi x˚ lí hiªn th¸c theo kˇ thu™t pipeline, ta cùng xét v‡ dˆ bên d˜Ói sau ây:
Gi£ s˚ mÎt công viªc gi∞t ıi bao gÁm 3 công o§n nh˜ sau:
• Gi∞t: mßt 30 phút
• Sßy khô: mßt 40 phút
• ’i: mßt 20 phút
N∏u ta có 4 túi qu¶n áo ˜Òc ánh k˛ hiªu l¶n l˜Òt là A, B, C, D. Theo cách ti∏p c™n thông th˜Ìng,
4 túi qu¶n áo s≥ ˜Òc gi∞t l¶n l˜Òt qua 3 công o§n mÎt cách tu¶n t¸ cho ∏n khi hoàn thành. Khi
Hình 3: Th¸c thi công viªc tu¶n t¸
ó, ∫ gi∞t xong tßt c£ các túi Á, ta ph£i mßt tÓi 6 ti∏ng.
Tuy nhiên, n∏u áp dˆng cách ti∏p c™n theo kˇ thu™t pipeline, cˆ th∫ nh˜ sau:
• Khi gi∞t xong túi A và chuy∫n sang giai o§n sßy khô, ta Áng thÌi gi∞t túi Á B.
• Khi túi Á A sßy xong và chuy∫n sang giai o§n ıi, ta ti∏p tˆc th¸c hiªn sßy túi Á B.
• Quá trình trên ˜Òc th¸c hiªn t˜Ïng t¸ cho túi Á C và D (Hình 3).
Hình 4: Th¸c thi công viªc theo kæ thu™t pipeline
VÓi viªc áp dˆng kˇ thu™t pipeline, quá trình gi∞t 4 túi Á có th∫ k∏t thúc trong vòng 3 ti∏ng, ti∏t
kiªm ˜Òc rßt nhi∑u thÌi gian so vÓi cách ti∏p c™n thông th˜Ìng.
So sánh ki∏n trúc RISC và CISC Trang 13/14
16. Tr˜Ìng §i HÂc Bách Khoa Tp.HÁ Chí Minh
Khoa Khoa HÂc và Kˇ Thu™t Máy Tính
Có th∫ thßy r¨ng, khi túi Á A th¸c hiªn giai o§n sßy, thì túi Á sau ó (túi Á B) dù ã ˜Òc gi∞t
xong tr˜Óc (chø mßt 30 phút) nh˜ng v®n ph£i Òi 10 phút ∫ i vào giai o§n ti∏p theo. Quá trình
này cÙng x£y ra t˜Ïng t¸ cho nh˙ng túi Á còn l§i, hay nói cách khác, thÌi gian th¸c hiªn công
viªc theo kˇ thu™t pipelines ph£i phˆ thuÎc vào b˜Óc th¸c hiªn có Î dài lÓn nhßt. VÓi
viªc các lªnh ∑u ˜Òc Ïn gi£n hóa và a sË th¸c thi trong mÎt chu k˝, viªc hiªn th¸c pipeline vÓi
ki∏n trúc t™p lªnh RISC s≥ d≥ dàng và hiªu qu£ hÏn nhi∑u so vÓi ki∏n trúc t™p lªnh CISC.
Quá trình th¸c thi pipeline cıa RISC cÙng ˜Òc th¸c hiªn t˜Ïng t¸ nh˜ ví dˆ trên, cˆ th∫, mÈi lªnh
RISC s≥ ˜Òc th¸c thi qua 5 b˜Óc (Hình 4):
• B˜Óc 1: Lßy lªnh t¯ bÎ nhÓ (Instrution fetch)
• B˜Óc 2: Âc thanh ghi và gi£i mã lªnh(Decode)
• B˜Óc 3:Th¸c hiªn lªnh và tính toán ‡a chø (Excute, address calculate)
• B˜Óc 4:Truy c™p ∏n toán h§ng trong bÎ nhÓ (Memory access)
• B˜Óc 5:Ghi k∏t qu£ tr l§i vào thanh ghi (Write back)
Tài liªu
[1] RISC vs CISC Still Matters, Post RISC, Evolution of RISC at IBM t§i website
http://cse.hcmut.edu.vn/tnthinh/ACA/ACA.htm (01/2016).
[2] RISC and CISC t§i website http://www.editsworld.com/articles/risc-and-cisc/#.Vtqmfse9Vo5
(01/2016).
[3] RISC hay CISC t§i http://www.dientuvietnam.net/forums/forum/vi- i∑u-khi∫n-mcu-bÎ- i∑u-
khi∫n-t%C3%ADn-hiªu-sË-dsc/ki∏n-th˘c-chung-v∑-chip-kh£-trình/749-risc-hay-cisc
So sánh ki∏n trúc RISC và CISC Trang 14/14