Giáo trình Cấu trúc máy tính

pdf 126 trang vanle 3050
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Cấu trúc máy tính", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_cau_truc_may_tinh.pdf

Nội dung text: Giáo trình Cấu trúc máy tính

  1. TRÖÔØNG ÑAÏI HOÏC ÑAØ LAÏT F 7 G GIAÙO TRÌNH CẤU TRÚC MÁY TÍNH NGUYEÃN HÖÕU LỘC 2000
  2. Caán Truùc Maùy Tính -2- MUÏC LUÏC Chöông 1: GIÔÙI THIEÄU CHUNG 5 I. NGOÂN NGÖÕ VAØ MAÙY AÛO, MAÙY TÍNH NHIEÀU CAÁP: 5 II. PHAÀN CÖÙNG VAØ PHAÀN MEÀM: 7 III. LÒCH SÖÛ PHAÙT TRIEÅN MAÙY TÍNH: 8 1. Theá heä khoâng: 8 2. Theá heä thöù nhaát: 9 3. Theá heä thöù hai: 10 4. Theá heä thöù ba: 10 5. Theá heä thöù tö: 11 Chöông 2: CAÁU TRUÙC CHUNG MAÙY TÍNH 15 I. CAÙC BOÄ XÖÛ LYÙ 15 1. Thöïc hieän leänh 16 2. Toå chöùc CPU 17 3. Thöïc hieän leänh song song: 18 II- BOÄ NHÔÙ CHÍNH: 22 1. Bit 22 2. Ñòa chæ boä nhôù: 23 3. Traät töï cuûa byte: 24 4. Maõ söûa loãi: 25 5. Boä nhôù chính trong caùc IBM PC 26 III- CAÙC THIEÁT BÒ LÖU TRÖÕ (BOÄ NHÔÙ PHUÏ): 28 1. Baêng töø: 28 2. Ñóa töø 29 3. Ñóa meàm 32 4. Ñóa quang 33 IV - CAÙC THIEÁT BÒ VAØO / RA 35 1. Baøn phím: 38 2. Maøn hình: 38 3. Modem: 41 4. Chuoät: 45 5. Maùy in : 48 6. Ngoõ ra noái tieáp chuaån RS–232–C 54 Chöông 3: LÔÙP VAÄT LYÙ 57 I. CAÙC CHIP VI XÖÛ LYÙ VAØ CAÙC BUS 57 1. Caùc chip vi xöû lyù: 57 2. Caùc bus cuûa maùy tính 60 3. Bus ñoàng boä 62 4. Bus khoâng ñoàng boä 65 5. Phaân xöû bus 67 II. THÍ DUÏ VEÀ CHIP VI XÖÛ LYÙ VAØ BUS 71 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  3. Caán Truùc Maùy Tính -3- 1. Chip vi xöû lyù 8088 cuûa hoï Intel 71 2. Thí duï veà bus 74 III. Boä nhôù 76 1. Phaân loaïi boä nhôù baùn daãn 77 2. Toå chöùc boä nhôù: 77 3. Moät soá khaùi nieäm veà boä nhôù khaùc: 79 IV. Giao tieáp 81 1. Caùc chip I/O 81 2. Giaûi maõ ñòa chæ. 82 Chöông 4 LÔÙP VI CHÖÔNG TRÌNH 85 I. NHAÉC LAÏI LÔÙP VAÄT LYÙ: 86 1. Caùc thanh ghi: 86 2. Bus noäi: 86 II. MOÄT VÍ DUÏ VEÀ VI CHÖÔNG TRÌNH: 88 Chöông 4: LÔÙP VI CHÖÔNG TRÌNH 90 I. NHAÉC LAÏI LÔÙP VAÄT LYÙ: 91 1. Caùc thanh ghi: 91 2. Bus noäi: 91 II. MOÄT VÍ DUÏ VEÀ VI CHÖÔNG TRÌNH: 93 Chöông 5: LÔÙP MAÙY QUY ÖÔÙC 95 I. CAÙC THÍ DUÏ VEÀ LÔÙP MAÙY QUI ÖÔÙC: 95 II. CAÙC KHUOÂN DAÏNG LEÄNH 101 III. KIEÅU ÑÒNH VÒ ÑÒA CHÆ : 102 1. Ñònh ñòa chæ töùc thôøi: 103 2. Ñònh ñòa chæ tröïc tieáp 103 3. Ñònh ñòa chæ thanh ghi 104 4. Ñònh ñòa chæ giaùn tieáp 105 5. Ñònh chæ soá 106 6. Ñònh ñòa chæ ngaên xeáp 107 III. LUOÀNG ÑIEÀU KHIEÅN 108 1. Luoàng ñieàu khieån tuaàn töï vaø caùc leänh nhaûy. 108 2. Thuû tuïc 109 3. Ñoàng thuû tuïc 109 4. Baãy 110 5. Ngaét 110 Chöông 6: LÔÙP MAÙY HEÄ ÑIEÀU HAØNH 112 I. BOÄ NHÔÙ AÛO 113 II. CAÙC LEÄNH VAØO/RA AÛO 117 1. Caùc taäp tin tuaàn töï 117 2. Caùc taäp tin truy xuaát ngaãu nhieân 119 3. Hieän thöïc caùc leänh vaøo/ra aûo 120 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  4. Caán Truùc Maùy Tính -4- 4. Caùc leänh quaûn lyù thö muïc 124 III. CAÙC LEÄNH AÛO DUØNG TRONG XÖÛ LYÙ SONG SONG 125 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  5. Caán Truùc Maùy Tính -5- CHÖÔNG 1: GIÔÙI THIEÄU CHUNG Maùy tính soá laø thieát bò coù khaû naêng giaûi caùc baøi toaùn baèng caùch thöïc hieän moät soá leänh höõu haïn. Chöông trình maùy tính goàm moät daõy leänh saép xeáp theo moät trình töï nhaát ñònh ñeå thöïc hieän moät vieäc cho tröôùc. Nhöõng linh kieän ñieän töû trong moãi maùy tính chæ coù theå nhaän bieát vaø thöïc hieän tröïc tieáp moät soá leänh höõu haïn vaø moät chöông trình maùy tính chæ coù theå thöïc hieän treân maùy tính ñoù neáu söû duïng chính soá leänh höõu haïn ñoù. Taäp leänh maø maùy tính thöïc hieän tröïc tieáp taïo ra moät ngoân ngöõ cho pheùp ngöôøi söû duïng trao ñoåi ñöôïc vôùi maùy tính. Ñoù laø ngoân ngöõ maùy. Khi cheá taïo ra moät maùy tính môùi, ngöôøi ta taïo ra caùc leänh, hình thaønh ngoân ngöõ maùy. Thoâng thöôøng ngöôøi ta coù khuynh höôùng choïn caùc leänh naøy caøng ñôn giaûn caøng toát ñeå haïn cheá möùc ñoä phöùc taïp (vaø dó nhieân laø giaù thaønh ) cuûa caùc linh kieän ñieän töû caàn thieát. Khoù khaên laø caùc ngoân ngöõ maùy naøy coøn quaù nguyeân sô neân raát khoù söû duïng. I. NGOÂN NGÖÕ VAØ MAÙY AÛO, MAÙY TÍNH NHIEÀU CAÁP: Coù 2 caùch ñeå giaûi quyeát vaán ñeà naøy. Thöïc teá laø caû hai caùch naøy ñeàu nhaèm ñöa vaøo moät taäp leänh môùi deã söû duïng hôn ngoân ngöõ maùy. Taäp leänh môùi naøy taïo thaønh moät ngoân ngöõ môùi (ngoân ngöõ L2) laø taäp caùc leänh khaùc leänh maùy (ngoân ngöõ L1. ) Caùch thöù nhaát ñeå thöïc hieän chöông trình vieát baèng L2 laø dòch leänh cuûa chöông trình thaønh daõy caùc leänh töông ñöông L1. Maùy tính seõ thöïc hieän chöông trình môùi baèng L1 thay vì L2. Kyõ thuaät naøy goïi laø bieân dòch (compile). Caùch thöù 2 laø töøng leänh cuûa chöông trình vieát baèng L2 seõ ñöôïc thöïc hieän töông öùng vôùi moät daõy caùc leänh L1. Kyõ thuaät naøy khoâng caàn taïo ra toaøn boä moät chöông trình L1 neân goïi laø phieân dòch (interpret). Hai khaùi nieäm bieân dòch vaø phieân dòch môùi ñaàu coù veõ hôi gioáng nhau. Nhìn chung, leänh trong L2 seõ ñöôïc chuyeån thaønh moät daõy leänh trong L1 ñeå thöïc hieän. Song phaûi thaáy raèng trong tröôøng hôïp bieân dòch taát caû chöông trình L2 seõ phaûi dòch sang L1 sau ñoù chöông trình L1 thöïc hieän. Coøn vôùi phieân dòch thì moãi leänh trong chöông trình L2 ñöôïc phaân tích roài thöïc hieän ngay vaø nhö vaäy döôøng nhö khoâng toàn taïi chöông trình dòch. Caû hai caùch ñeàu ñöôïc söû duïng roäng raõi. Vôùi ngoân ngöõ L2 coù theå hình dung ñeán moät maùy tính goïi laø maùy aûo. Ñeå bieân dòch vaø phieân dòch ñöôïc ñôn giaûn, caùc ngoân ngöõ L1 vaø L2 khoâng neân quaù khaùc nhau. Nghóa laø L2, thöôøng hay hôn L1, vaãn khoâng phaûi laø moät ngoân ngöõ laäp trình Nguyeãn Höõu Loäc Khoa Vaät Lyù
  6. Caán Truùc Maùy Tính -6- lyù töôûng. Ñieàu naøy coù veõ nhö traùi ngöôïc vôùi yù töôûng ban ñaàu khi taïo ra ngoân ngöõ L2: taïo moät ngoân ngöõ ñôn giaûn vaø deã söû duïng cho con ngöôøi hôn L1 laø ngoân ngöõ cuûa maùy. Nhö vaäy ngöôøi ta laïi ñònh nghóa moät taäp leänh môùi gaàn guó vôùi ngöôøi söû duïng hôn vaø ít phuï thuoäc hôn vaøo maùy tính nhö L2. Nhöõng leänh môùi naøy taïo ra moät ngoân ngöõ L3 nhôø vaäy coù theå vieát caùc chöông trình cho maùy tính aûo duøng ngoân ngöõ L3. Nhöõng chöông trình naøy chaéc chaén seõ ñöôïc dòch ra L2. Ngöôøi ta coù theå taïo ra moät chuoãi caùc ngoân ngöõ, loaïi sau deã söû duïng hôn so vôùi loaïi tröôùc. Moãi ngoân ngöõ môùi döïa vaøo ngoân ngöõ ñaõ coù tröôùc ñoù, do vaäy ngöôøi ta xem maùy tính nhö moät choàng caùc lôùp (caáp) nhö trình baøy trong hình 1.1. Ngoân ngöõ ôû lôùp döôùi ñôn giaûn, caøng leân lôùp treân ngoân ngöõ caøng phöùc taïp. Ña soá caùc maùy tính hieän nay coù ít nhaát 2 caáp. Thöôøng chuùng ta thaáy caùc maùy tính coù 6 caáp. Caáp 0: Lôùp vaät lyù. Ñoù laø phaàn cöùng goàm caùc cöûa logic, caùc coång (caûng) v.v Chuùng ta seõ ñi saâu vaøo caáp 0 trong giaùo trình naøy. Caáp n Maùy aûo Mn, Ngoân ngöõ Ln Maùy aûo M3, Caáp 3 Ngoân ngöõ L3 Maùy aûo M2, Caáp 2 Ngoân ngöõ L2 Maùy thöïc M1, Caáp 1 Ngoân ngöõ maùy L1 Hình 1.1: Kieán truùc maùy tính nhieàu caáp Caáp 1: Lôùp vi chöông trình. Khaùc vôùi caáp 0, trong caáp naøy ta thaáy coù chöông trình goïi laø vi chöông trình duøng ñeå phieân dòch nhöõng leänh ôû caáp 2. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  7. Caán Truùc Maùy Tính -7- Caáp 2: Lôùp maùy qui öôùc. Thöôøng ôû lôùp naøy taát caû caùc maùy tính ñeàu coù nhöõng ñieåm gioáng nhau duø chuùng ñöôïc taïo bôûi nhöõng nhaø saûn xuaát khaùc nhau. Caùc nhaø saûn xuaát ñeàu cung caáp keøm theo maùy "Soå tay ngoân ngöõ maùy" trong ñoù coù taäp leänh rieâng cuûa töøng maùy. Caáp 3: Lôùp heä ñieàu haønh. Coù theå xem ñaây laø moät lôùp lai (hybrid). Ngoaøi moät soá caùc leänh ñaõ bieát (coù trong caáp 2 ) trong lôùp naøy coøn xuaát hieän nhieàu leänh ñaëc bieät nhö toå chöùc quaûn lyù boä nhôù, khaû naêng thöïc hieän nhieàu leänh song song v.v Caáp 4: Lôùp hôïp ngöõ. Duøng nhöõng töø gôïi nhôù ñeå laäp trình do vaäy thuaän tieän hôn. Caáp 5: Lôùp öùng duïng: Duøng ngoân ngöõ caáp cao ñeå laäp trình. Ngöôøi ta coù theå coù caáp 6 hoaëc caáp cao hôn cho nhöõng öùng duïng cuï theå ñöôïc xem laø coâng cuï cho caùc lónh vöïc chuyeân ngaønh. Coù theå thaáy toàn taïi moät khoaûng caùch raát lôùn giöõa caáp 3 vaø caáp 4. Nhöõng nhaø laäp trình heä thoáng thöôøng chuù yù ñeán caùc caáp thaáp (töø caáp 3 trôû xuoáng), trong khi aáy vôùi nhöõng nhaø laäp trình öùng duïng laïi quan taâm ñeán nhöõng caáp cao hôn (töø caáp 4 leân). Ngoân ngöõ söû duïng ôû caáp 1,2,3 laø ngoân ngöõ soá trong khi aáy töø caáp 4 ngöôøi ta söû duïng nhöõng töø, nhöõng chöõ vieát taét deã hieåu hôn vôùi con ngöôøi. Hôn theá phöông phaùp ñeå hoã trôï caùc caáp treân laø khaùc nhau: Caáp 2 vaø 3 thöôøng ñöôïc phieân dòch, coøn caáp 4 vaø 5 thöôøng laø bieân dòch (ñieàu naøy khoâng phaûi luoân ñuùng). II. PHAÀN CÖÙNG VAØ PHAÀN MEÀM: Nhöõng chöông trình vieát baèng ngoân ngöõ maùy ñeàu coù theå thöïc hieän tröïc tieáp baèng caùc maïch ñieän töû maø khoâng caàn phaûi bieân dòch hay phieân dòch. Caùc maïch ñieän töû naøy keát hôïp vôùi caùc phaàn töû cô khí, caùc daây noái goïi chung laø phaàn cöùng. Nhö vaäy phaàn cöùng laø nhöõng gì coù theå sôø thaáy ñöôïc nhö caùc maïch tích hôïp, caùc baûng maïch, daây noái, nguoàn nuoâi, boä nhôù, maùy in, thieát bò ñaàu cuoái v.v khaùc vôùi nhöõng gì khoâng sôø thaáy ñöôïc nhö caùc yù töôûng tröøu töôïng, caùc thuaät toaùn hoaëc caùc leänh. Nhö vaäy phaàn meàm goàm caùc thuaät toaùn vaø caùch theå hieän chuùng baèng leänh: caùc chöông trình. Nhöõng chöông trình naøy ñöôïc caát giöõ treân nhöõng thieát bò löu tröõ nhö ñóa töø, ñóa quang . Coù laäp luaän cho raèng phaàn cöùng vaø phaàn meàm töông ñöông vôùi nhau veà maët logic (hardware and software are logically equivalent). Baát kyø moät pheùp toaùn naøo ñoù giaûi ñöôïc baèng phaàn meàm ñeàu coù theå thöïc hieän tröïc tieáp baèng phaàn cöùng vaø baát kyø moät leänh naøo ñoù thi haønh baèng phaàn cöùng ñeàu coù theå moâ phoûng baèng phaàn meàm. Ranh giôùi giöõ phaàn cöùng vaø phaàn meàm thöôøng xuyeân thay ñoåi. Coù nhöõng caùi hoâm nay thöïc hieän baèng phaàn meàm, ngaøy mai laïi thöïc hieän baèng phaàn cöùng vaø ngöôïc laïi. Hôn theá nöõa ngaøy caøng thaáy raèng ranh giôùi giöõ caùc lôùp maùy tính ngaøy caøng khoâng roõ raøng. Song Nguyeãn Höõu Loäc Khoa Vaät Lyù
  8. Caán Truùc Maùy Tính -8- vieäc phaân ñònh caùc lôùp giuùp cho ngöôøi laøm vieäc vôùi maùy tính taïi 1 lôùp n naøo ñoù seõ khoâng caàn bieát nhieàu ñeán chi tieát caùc lôùp döôùi. Nhö vaäy vieäc öùng duïng maùy tính ngaøy caøng deã daøng maëc daàu chuùng ngaøy caøng phöùc taïp. III. LÒCH SÖÛ PHAÙT TRIEÅN MAÙY TÍNH: 1. Theá heä khoâng: Nhöõng maùy tính cô vaø ñieän töø (1642-1945) Blaise Pascal (1623-1662) laø ngöôøi coù coâng chính trong vieäc taïo ra maùy laøm toaùn ñaàu tieân, chính vì lyù do naøy maø veà sau Niklaus Wirth ñaõ laáy teân Pascal ñaët cho ngoân ngöõ laäp trình maø oâng ñaõ saùng taïo neân. Naêm 1642 luùc aáy Pascal môùi 19 tuoåi ñaõ taïo ra moät maùy hoaøn toaøn baèng cô khí ñieàu khieån baèng tay vaø thöïc hieän ñöôïc pheùp coäng vaø pheùp tröø . 30 naêm sau, Baron Gottfried von Leibniz (1646-1716) theâm vaøo pheùp nhaân vaø pheùp chia vaø ñoù chính laø tieàn thaân cuûa maùy tính boû tuùi (calculator) ngaøy nay cuûa chuùng ta. Maõi ñeán 150 naêm sau ñoùù Charles Babbage (1792-1871), giaùo sö toaùn taïi Ñaïi hoïc Cambridge, ñaõ thieát keá vaø xaây döïng ñöôïc maùy sai phaân (difference engine). Maùy chæ tính toaùn vôùi moät thuaät toaùn ñôn, phöông phaùp sai phaân höõu haïn söû duïng caùc ña thöùc . Maùy naøy hoaït ñoäng toát tuy vaäy Babagge mong thöïc hieän ñöôïc vôùi nhieàu thuaät toaùn khaùc hôn vaø oâng ñaõ ñeå nhieàu thôøi gian nghieân cöùu taïo ra 1 maùy tính môùi, maùy phaân tích (analytical engine). Maùy naøy goàm boán boä phaän: Quaày baùn haøng (Boä nhôù); coái xaây (Boä tính toaùn), ngoõ vaøo (Boä ñoïc bìa ñuïc loã) vaø ngoõ ra (boä xuyeân bìa hay maùy in). Coái xaây nhaän caùc toaùn haïng töø quaày baùn haøng sau ñoù thöïc hieän coäng, tröø, nhaân, chia vaø chuyeån keát quaû veà quaày baùn haøng. Taát caû ñeàu thöïc hieän baèng cô khí. Caùi môùi trong maùy naøy laø noù ñoïc caùc leänh töø bìa ñuïc loã vaø xöû lyù chuùng. Maùy naøy ñöôïc laäp trình nhôø 1 ngoân ngöõ ñôn giaûn goïi laø hôïp ngöõ. Ada Augusta Lovelace, con gaùi cuûa moät nhaø thô Anh teân Lord Byron vaø cuõng laø ngöôøi trôï lyù cuûa Babagge laø ngöôøi ñaàu tieân vieát chöông trình cho maùy tính. Vì vaäy sau naøy Boä quoác phoøng Hoa kyø ñaõ laáy teân Ada ñeå ñaët cho moät ngoân ngöõ laäp trình do nhoùm Bull taïo ra. Tuy nhieân Babbage khoâng theå taïo ra caùi maùy hoaøn toaøn nhö yù vì coâng ngheä theá kyû thöù XIX ñaõ khoâng ñaùp öùng ñöôïc. Tuy vaäy nhöõng yù töôûng cuûa Babagge ñaõ ñaët neàn moùng cho maùy tính ñieän töû ngaøy nay, cuõng chính vì vaäy neân coù theå xem Babbage laø OÂng toå cuûa ngaønh maùy tính hieän nay. Trong nhöõng naêm 1930 moät kyõ sö Ñöùc teân Konrad Zuse ñaõ taïo ra moät soá maùy tính laøm baèng rô le ñieän töø duø chöa bieát ñeán coâng trình cuûa Babagge. Raát tieác laø taát caû caùc maùy naøy ñeàu ñaõ bò phaù huõy trong nhöõng ñôït neùm bom xuoáng Berlin naêm 1944. Song vaãn coù theå xem oâng laø moät trong nhöõng ngöôøi tieân phong cheá taïo ra maùy tính. Taïi Hoa kyø, John Atanassoff thuoäc Iowa State College vaø George Stibbitz thuoäc Bell Labs ñaõ cheá taïo ra caùc maùy tính. Neáu nhö maùy cuûa Atanassoff khoâng chaïy ñöôïc nhö mong muoán thì maùy cuûa Stibbitz vôùi yeâu caàu thaáp hôn ñaõ hoaït ñoäng toát vaø ñöôïc giôùi thieäu naêm 1940 taïi Dartmouth College. Moät trong nhöõng phuï taù cuûa Stibbitz, John Mauchley laø giaùo sö vaät lyù taïi Ñaïi hoïc Pennsylvania maø chuùng ta seõ ñeà caäp sau. Cuøng Nguyeãn Höõu Loäc Khoa Vaät Lyù
  9. Caán Truùc Maùy Tính -9- luùc aáy Howard Aiken ñeå thöïc hieän luaän aùn taïi Havard ñaõ phaûi laøm moät khoái löôïng lôùn caùc baøi toaùn baèng tay. Chính vì vaäy oâng mong muoán thöïc hieän caùc baøi toaùn moät caùch töï ñoäng, sau ñoù nhôø caùc coâng trình cuûa Babagge maø oâng tìm thaáy trong thö vieän, oâng quyeát ñònh taïo moät maùy baèng rôø le maø tröôùc ñoù Babagge ñaõ khoâng theå thöïc hieän ñöôïc baèng caùc baùnh xe raêng cöa. Maùy tính ñaàu tieân cuûa Aiken laø maùy Mark I, ñöôïc hoaøn taát naêm 1944 ôû Harvard goàm 72 töø, moãi töø 23 soá thaäp phaân vaø coù chu kyø leänh laø 6 sec. Vieäc xuaát nhaäp duøng caùc baêng giaáy ñuïc loã. Sau ñoù Aiken hoaøn taát maùy Mark 2 vaø caùc maùy tính rô le trôû neân loãi thôøi. Kyõ nguyeân ñieän töû ñaõ baét ñaàu. 2. Theá heä thöù nhaát: Nhöõng maùy tính ñeøn ñieän töû (1945-1955) Caùc maùy tính ñieän töû ñöôïc phaùt trieån nhanh trong theá chieán thöù 2 phuïc vuï caùc muïc ñích quaân söï. Tuy vaäy caùc coâng trình naøy ñeàu naèm trong caùc döï aùn bí maät quaân söï. Chæ bieát raèng taïi Ñöùc coù nhöõnng maùy tính cuûa Zuse, taïi Anh coù COLOSSUS maø moät trong nhöõng ngöôøi tham gia thieát keá laø nhaø toaùn hoïc noãi tieáng ngöôøi Anh teân Alan Turing. Taïi Hoa kyø, John Mauchley ñeà nghò quaân ñoäi taøi trôï cho vieäc xaây döïng maùy tính ñieän töû. Ñeà nghò ñöôïc chaáp thuaän vaøo naêm 1943, Mauchley vaø sinh vieân J. Presper Eckert, tieán haønh xaây döïng moät maùy tính ñieän töû goïi laø ENIAC (Electronic Numerical Integrator And Computer). Maùy naøy goàm 18.000 ñeøn ñieän töû vaø 1500 rôø le, naëng 30 taán vaø tieâu thuï 140KW. Sau naøy ngöôøi ta thöôøng xem ENIAC laø maùy tính ñieän töû ñaàu tieân cuûa nhaân loaïi. Sau chieán tranh, Mauchley vaø Eiker toå chöùc moät khoùa hoïc heø ñeå moâ taû caùc coâng vieäc cuûa hoï cho nhöõng baïn ñoàng nghieäp. Khoùa hoïc laø söï khôûi ñaàu cho söï phaùt trieån oà aït trong vieäc thieát keá caùc maùy tính soá lôùn. Maurice Wilkes thieát keá EDSAC taïi Ñaïi hoïc Cambridge. Caùc maùy khaùc nhö JOHNIAC ôû Rand Corporation, ILLIAC ôû Ñaïi hoïc Illinois, MANIAC ôû Los Alamos Laboratory, WEIZAC ôû Vieän Weizmann nöôùc Israel v.v Eckert vaø Mauchley laøm ra maùy keá tieáp EDVAC (Electronic Discrete Variable Automatic Computer) , döï aùn naøy bò toån haïi sau khi hoï rôøi khoûi Penn ñeå thaønh laäp coâng ty maùy tính ôû Philadelphia sau naøy laø coâng ty Unisys. Trong luùc aáy, moät trong nhöõng ngöôøi tham gia trong döï aùn ENIAC tröôùc ñaây laø nhaø toaùn hoïc noåi tieáng John von Neumann ñeán Princeton vaø thieát keá ra maùy IAS. OÂng ñaõ ñöa ra thieát keá cô baûn goïi laø maùy von Neumann. Maùy tính coù khaû naêng löu tröõ chöông trình ñaàu tieân , vaø ñeán nay vaãn laø cô sôû cho haàu heát caùc maùy tính soá. Vaøo cuøng thôøi gian von Neumann xaây döïng maùy IAS, caùc nhaø nghieân cöùu ôû M.I.T. cuõng xaây döïng moät maùy tính, Whirlwind 1. Döï aùn naøy daãn ñeán phaù minh ra boä nhôù loõi cuûa Jay Forrester vaø daãn ñeán taïo ra caùc maùy tính mini thöông maïi ñaàu tieân. Vôùi coâng vieäc ban ñaàu laø saûn xuaát ra caùc maùy ñuïc loã cho caùc bìa vaø caùc maùy xeáp bìa baèng cô khí, naêm 1953 IBM saûn xuaát ra maùy tính 701, sau ñoù maùy 704 ra ñôøi vaø Nguyeãn Höõu Loäc Khoa Vaät Lyù
  10. Caán Truùc Maùy Tính -10- naêm 1958 IBM saûn xuaát ra maùy 709 vaø trôû thaønh moät trong nhöõng coâng ty maùy tính haøng ñaàu theá giôùi. 3. Theá heä thöù hai: Nhöõng maùy tính transistor (1955-1965) Transistor ñöôïc phaùt minh ôû Bell Labs naêm 1948 bôûi John Bardeen, Walter Brattain vaø William Shockley (Giaûi thöôûng Nobel Vaät lyù 1956). Trong 10 naêm, transistor ñaõ caùch maïng hoaù maùy tính vaø vaøo cuoái thaäp nieân 50 caùc maùy tính ñeøn ñieän töû bò loaïi boû. Maùy tính transistor ñaàu tieân ñöôïc xaây döïng ôû Lincoln Laboratory cuûa M.I.T. goïi laø TX-0 (Transistorized eXperimental computer 0). Moät trong caùc kyõ sö laøm taïi ñaáy, Kenneth Olsen, thaønh laäp coâng ty DEC naêm 1957 ñeå saûn xuaát maùy tính thöông maïi. Naêm 1961 maùy PDP-1 xuaát hieän vôùi giaù thaønh nhieàu so vôùi caùc maùy tính tröôùc ñoù. Moät trong nhöõng ñoåi môùi cuûa PDP-1 laø boä hieån thò vaø khaû naêng veõ nhieàu ñieåm treân maøn hình 512x512. Coâng nghieäp maùy tính mini ñöôïc khai sinh . Vaøi naêm sau ñoù DEC giôùi thieäu PDP-8, maùy 12 bit nhöng giaù thaønh reû hôn PDP-1 gaàn 10 laàn. PDP-8 coù moät ñoåi môùi chính, ñoù laø bus ñôn goïi laø omnibus. Moät bus laø moät taäp caùc daây noái song song duøng ñeå lieân keát caùc thaønh phaàn khaùc nhau trong 1 maùy tính. Caáu truùc naøy ñöôïc chaáp nhaän vaø thöïc hieän haàu heát caùc maùy tính nho.û Vôùi coâng ty IBM, hoï xaây döïng moät phieân baûn cuûa 709 baèng transistor, maùy 7090 vaø sau ñoù 7094. Vaøo thôøi ñieåm naøy IBM ñaõ trôû thaønh moät coâng ty thieát keá maùy tính chính nhôø baùn caùc maùy höôùng kinh doanh nhoû vôùi maùy 1401. Maùy naøy coù theå ñoïc vaø ghi baêng töø, ñoïc vaø ñuïc loã caùc bìa, in keát quaû nhanh hôn 7094. Naêm 1964, moät coâng ty khôûi ñaàu môùi, CDC giôùi thieäu maùy 6600, moät maùy coù toác ñoä nhanh hôn maùy 7094 vì beân trong CPU coù moät cô cheá song song thaät söï. Coù nhieàu naùy tính khaùc xuaát hieän trong thôøi kyø naøy tuy vaäy chæ coù moät maùy noåi baät vôùi moät lyù do khaù khaùc bieäaø ñaùng ñeà caäp, maùy Bourroughts B5000. Caùc nhaø thieát keá coù chieán thuaät khaùc so vôùi caùc ñoái thuû caïnh tranh laø hoï ñaët bieät xaây döïng moät maùy vôùi yù ñònh laäp trình baèng ngoân ngöõ Algol 60, moät ngoân ngöõ coù tröôùc PASCAL, vaø bao goàm nhieàu ñaëc tröng trong phaàn cöùng taïo deã daøng cho coâng vieäc cuûa trình bieân dòch. 4. Theá heä thöù ba: Nhöõng maùy tính IC (1965-1980) Maïch tích hôïp IC (integrated circuit) hay coøn goïi vi maïch tích hôïp ñöôïc phaùt minh cho pheùp vaøi chuïc transistor ñöôïc ñaët trong moät chip ñôn. Vaøo naêm 1964, IBM , moät coâng ty maùy tính haøng ñaàu giôùi thieäu moät saûn phaåm, System 360 duøng vi maïch. Maùy ñöôïc thieát keá cho caû tính toaùn trong thöông maïi vaø tính toaùn trong khoa hoïc. System 360 coù nhieàu ñoåi môùi, quan trong laø heä naøy vaøi kieåu (model) chaïy cuøng moät loaïi hôïp ngöõ, coù coâng suaát vaø kích thöôùc taêng.Phaàn meàm vieát vieát treân cô sôû duøng ñöôïc treân caùc maùy kieåu khaùc. YÙ töôûng veà caùc hoï maùy ñöôïc öa chuoäng ngay laäp töùc, vaø trong moät vaøi naêm haàu heát caùc nhaø saûn xuaát maùy tính coù moät hoï caùc maùy chung. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  11. Caán Truùc Maùy Tính -11- Ñoåi môùi quan troïng khaùc trong 360 laø ña laäp trình (multi-programming), coù vaøi chöông trình trong boä nhôù ñoàng thôøi ñeå khi moät chöông trình ñang chôø vieäc xuaát/nhaäp hoaøn taát, chöông trình khaùc coù theå tính toaùn 360 cuõng laø maùy tính ñaàu tieân coù theå moâ phoûng caùc maùy tính khaùc. Moät ñaëc tröng khaùc laø khoâng gian ñòa chæ lôùn (luùc baáy giôø) cho 224 byte nhôù (16 megabyte). Theá giôùi maùy tính mini cuõng ñaõ coù moät böôùc tieán lôùn trong theá heä maùy tính vi maïch khi DEC giôùi thieäu maùy PDP-11, moät keá thöøa 16-bit cuûa PDP-8. Treân nhieàu khía caïnh thì coù theå xem PDP-11 nhö ngöôøi em cuûa hoï 360. Chuùng ñeàu coù caùc thanh ghi höôùng töø vaø moät boä nhôù höôùng byte. PDP-11 raát ñöôïc caùc tröôøng Ñaïi hoïc öa chuoäng vaø DEc daãn ñaàu trong vieäc saûn xuaát caùc maùy tính mini so vôùi caùc nhaø saûn xuaát khaùc. 5. Theá heä thöù tö: Nhöõng maùy tính VLSI vaø PC (1980-?) Vaøo thaäp nieân 80, vi maïch côõ cöïc lôùn (Very Large Scale Integration) coù khaû naêng chöùa vaøi chuïc ngaøn cho ñeán haøng chuïc trieäu transistor treân moät chip ñôn. Söï phaùt trieån naøy daãn ñeán coù theå saûn xuaát caùc maùy tính nhoû hôn vaø nhanh hôn. Ngaøy caøng xuaát hieän caùc maùy tính duøng cho caù nhaân vôùi giaù caû raát thaáp goïi laø maùy vi tính. Caùc maùy vi tính ñöôïc söû duïng theo caùch khaùc vôùi maùy tính lôùn. Chuùng ñöôïc söû duïng cho vieäc xöû lyù vaên baûn (word processing), thöïc hieän baûng tính (spreadsheet) vaø moät soá caùc öùng duïng maø caùc maùy tính lôùn hôn khoâng thöïc hieän toát ñöôïc. Hieän nay caùc maùy tính coù theå chia laøm 5 loaïi: Loaïi M Meg Maùy Thoâng duïng IPS(*) abyte Maùy vi 1 1 IBM Xöû lyù vaên tính PC baûn Maùy tính 2 4 PDP- ÑK thôøi gian mini 11/84 thöïc Sieâu 1 32 SUN-4 Maùy chuû mini 0 maïng Mainfra 3 128 IBM Ngaân haøng me 0 300 Sieâu 1 1024 Cray 2 Döï baùo thôøi maùy tính 25 tieát MIPS: (Million of Instructions Per Second) Trieäu leänh trong 1 giaây. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  12. Caán Truùc Maùy Tính -12- Hoï Intel: Naêm 1968 coâng ty Intel ñöôïc thaønh laäp ñeå cheá taïo caùc chip nhôù. Sau ñoù chuyeån sang saûn xuaát caùc CPU ñôn chip theo yeâu caàu vaø Intel ñaõ thöïc hieän chip 4004 loaïi 4 bit vaø 8008 loaïi 8 bit. Töø söï thaønh coâng baát ngôø töø 2 loaïi chip treân, Intel ñaàu tö chip ña naêng (general purpose) 8080 vaø saûn phaåm naøy ñaõ gaây soùng gioù trong coâng nghieäp vaø trôû thaønh maët haøng coù thò tröôøng lôùn. Intel ñaõ baùn ñöôïc vaøi trieäu saûn phaåm naøy. Naêm 1976 Intel cho ra ñôøi 8085 laø 8080 ñoùng voû chung vôùi vaøi thaønh phaàn vaøo/ra boå sung. Roài keá tieáp Intel cho ra ñôøi 8086, moät CPU ñôn chip 16-bit thaät söï. Sau ñoù laø söï xuaát hieän 8088 coù caáu truùc gioáng 8086 nhöng bus döõ lieäu chæ coù 8 bit neân giaù thaønh reû hôn vaø chaäm hôn. Khi IBM choïn 8088 laøm CPU cho caùc maùy vi tính IBM PC ñaàu tieân, chip naøy trôû thaønh chuaån coâng nghieäp cuûa maùy tính caù nhaân. Vaøi naêm keá tieáp, Intel cho ra ñôøi 80186 vaø 80188 laø caùc phieân baûn môùi cuûa 8086 vaø 8088, chuùng chöùa moät löôïng lôùn caùc maïch xuaát nhaäp nhöng thöïc teá khoâng ñöôïc söû duïng roäng raõi. 8088 vaø 8086 ñeà khoâng theå ñòa chæ hoaù ñöôïc boä nhôù lôùn hôn 1 megabyte. Ñeå khaéc phuïc vaán ñeà naøy Intel ñaõ thieát keá 80286, moät phieân baûn töông thích vaø vöôït troäi 8086. Taäp leänh cô baûn gioáng 8086 vaø 8088 nhöng toå chöùc boä nhôù khaùc vaø raéc roái hôn. 80286 ñöôïc duøng trong IBM PC AT vaø PS/2. Gioáng nhö 8088, ñaây laø moät thaønh coâng lôùn cuûa Intel. Keá tieáp laø moät CPU 32-bit thaät söï treân 1 chip, 80386. Gioáng nhö 80286, chip naøy ít nhieàu töông thích vôùi caùc chip duøng chung vôùi 8088. Sau ñoù laø 80486 töông thích vôùi 80386 vaø vöôït troäi hôn. Söï khaùc nhau cô baûn cuûa 80386 vaø 80486 laø söï hieän dieän cuûa boä ñoàng xöû lyù toaùn hoïc (coprocessor), boä ñieàu khieån boä nhôù vaø 8K boä nhôù ñeäm truy caäp nhanh (cache) treân 1 chip ñôn. Chip 80486 DX ñöôïc giôùi thieäu ñaàu tieân vaøo thaùng 4 naêm 1989. Thaùng 10 naêm 1992, Intel coâng boá chip Pentium, chip naøy baét ñaàu söû duïng vaøo thaùng 03 naêm 1993. Pentium ñaõ ñöôïc söû duïng coâng ngheä sieâu voâ höôùng (superscalar technology), coâng ngheä naøy coù khaû naêng keát hôïp vôùi caùc maùy coù taäp leänh thu nhoû RISC (Reduced Instruction Set Computer). Pentium coù 32 bit ñòa chæ vaø 64 bit döõ lieäu tuy vaãn chæ coù caùc thanh ghi 32 bit beân trong. Pentium coù 2 loaïi boä cache. Pentium theá heä 1 coù toác ñoä 60 /66 MHz, tích hôïp khoaûng 3,1 trieäu transistor. Pentium theá heä 2 coù toác ñoä töø 75 ñeán 200MHz, tích hôïp treân 3,3 trieäu transistor. Caùc chip Pentium MMX (theá heä 3) coâng boá vaøo thaùng 1 naêm 1997 coù toác ñoä leân ñeán 233MHz vôùi treân 4,5 trieäu transistor treân 1 chip. Coäng ngheä MMX ñöôïc Intel phaùt trieån ñeå ñaùp öùng nhu caàu veà truyeàn thoâng ña phöông tieän (multimedia) Nguyeãn Höõu Loäc Khoa Vaät Lyù
  13. Caán Truùc Maùy Tính -13- Thaùng 5 naêm 1997 Intel coâng boá chip Pentium II vôùi caùc toác ñoä leân ñeán 300MHz tích hôïp treân 7,5 trieäu transistor treân 1 chip. Ñeán naêm 1999 vôùi söï xuaát hieän cuûa Pentium III maùy vi tính coù khaû naêng bieåu dieãn khoâng gian ba chieàu vaø nhaän bieát cuõng nhö toång hôïp tieáng noùi. Taàn soá laøm vieäc toái ña laø 950MHz. Naêm 2001 Intel cho ra ñôøi Pentium IV toác ñoä leân ñeán 1,7GHz duøng coâng ngheä sieâu oáng daãn (hyper pipelined technology) caûi thieän ñaùng keå chaát löôïng hình aûnh soá, aâm thanh soá vaø caùc troø chôi trong khoâng gian ba chieàu . Söï phaùt trieån caùc CPU cuûa Intel phaûn aùnh toaøn boä söï phaùt trieån trong coâng nghieäp maùy tính. Hoï Motorola: Moät thôøi gian ngaén sau khi Intel giôùi thieäu 8080, Motorola, nhaø cung caáp linh kieän baùn daãn caïnh tranh vôùi Intel ñöa ra 6800. Chip 6800 laø chip 8 bit so saùnh ñöôïc vôùi 8080, ñöôïc thò tröôøng chaáp nhaän vaø ñöôïc söû duïng roäng raõi laøm boä ñieàu khieån cho caùc thieát bò coâng nghieäp trong nhöõng naêm ñaàu cuûa thaäp nieân 70. Tieáp theo laø chip 6809, chip naøy töông thích vôùi 6800 ñoàng thôøi ñöôïc theâm vaøo caùc ñaëc tröng phuï taïo deã daøng cho caùc pheùp tính soá 16-bit. Naêm 1979, Motorola giôùi thieäu 1 chip hoaøn toaøn môùi khoâng töông thích vôùi 6800 hoaëc 6809. Ñaây laø ñieàu ít coù coâng ty naøo daùm laøm tröôùc ñoù. Chip môùi naøy, 68000 ñöa ra moät söï thieát keá hoaøn toaøn môùi thay vì töông thích vôùi caùc chip ñaõ loãi thôøi. Chip 68000 laø moät caáu truùc lai giöõa 16 bit vaø 32 bit. Caùc nhaø saûn xuaát maùy vi tính Macintosh, Atari , Amiga choïn 68000 laøm CPU vì chip naøy hoaøn toaøn caét ñöùt vôùi quaù khöù vaø coù chieàu daøi töø 32 bit. Nhìn chung chip naøy coù söï khôûi ñaàu khaù thaønh coâng vaø taïo ra moät gia ñình 680x0 raát gioáng nhau theo quan ñieåm ngöôøi laäp trình, caùc phieân baûn môùi chæ coù vaøi leänh ñöôïc theâm vaøo caùc phieân baûn cuõ. Chip thöù 2 trong hoï Motorola, 68008, gioáng heät 68000 chæ khaùc ôû choã söû duïng bus döõ lieäu 8 bit nhaèm taïo ra caùc saûn phaåm giaù thaønh thaáp. Khoâng gioáng 8088 cuûa Intel, 68008 khoâng ñöôïc söû duïng roäng raõi. Khoâng bao laâu sau ngöôøi ta muoán thöïc hieän caùc heä ñieàu haønh tinh vi nhö UNIX duøng 68000. Vaán ñeà ôû ñaây laø boä nhôù aûo (virtual memory) , 68000 coù khaû naêng hoã trôï nhöng chöa ñaày ñuû. Motorola giaûi quyeát baèng caùch ñöa ra 68010 coù caùc ñaëc tröng caàn thieát. Sau ñoù laø söï xuaát hieän cuûa 68012, chip naøy veà cô baûn gioáng 68010 nhöng theâm caùc chaân ñòai chæ ñeå coù theå ñòa chæ hoùa boä nhôù 2 gigabyte thay vì 16 megabyte ít oûûi. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  14. Caán Truùc Maùy Tính -14- Moät naêm sau Motorola laïi cho ra ñôøi 68020 laø moät chip 32 bit thaät söï. 68020 laø moät thaønh coâng lôùn vaø laø nhaân cuûa haàu heát caùc traïm laøm vieäc (workstation) cheá taïo bôûi Sun Microsystems, Apollo vaø Hewlett-Packard. Chip tieáp theo laø 68030 maø söï caûi tieán naèm ôû quaûn lyù boä nhôù. 68040 gioáng nhö 80486 chöùa CPU, moät ñoàng xöû lyù toaùn hoïc, ñôn vò quaûn lyù boä nhôù vaø cache treân chip. Sau naøy laïi xuaát hieän chip Power PC. Roõ raøng ta coù theå so saùnh 68030 vôùi 80386, 68040 vôùi 80486, Pentium vôùi Power PC cuûa 2 coâng ty Intel vaø Motorola. Söï caïnh tranh giöõa caùc chip cuûa Intel vaø caùc chip cuûa Motorola seõ tieáp tuïc trong nhieàu naêm nöõa. Hieän nay nhieàu coâng ty trong ñoù chuû yeáu laø AMD (Advanced Micro Designs) vaø Cyrix saûn xuaát caùc boä vi xöû lyù hoaøn toaøn töông thích vôùi caùc boä vi xöû lyù cuûa Intel. Chuùng moâ phoûng toaøn boä caùc leänh vaø thaäm chí phaàn lôùn caùc chip naøy töông thích caû caùc chaân cuûa caùc chip Intel. Baát cöù phaàn cöùng hay phaàn meàm naøo hoaït ñoäng treân caùc maùy vi tính duøng caùc chip cuûa Intel cuõng seõ hoaït ñoäng treân caùc maùy vi tính duøng caùc chip töông thích cuûa AMD vaø Cyrix. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  15. Caán Truùc Maùy Tính -15- CHÖÔNG 2: CAÁU TRUÙC CHUNG MAÙY TÍNH Moät maùy tính bao goàm caùc boä xöû lyù, boä nhôù vaø caùc thieát bò vaøo/ra. Trong chöông naøy seõ giôùi thieäu 3 thaønh phaàn naøy vaø söï phoái gheùp chuùng. Chuùng ta caàn phaûi bieát sô löôïc caáu truùc chung cuûa maùy tính tröôùc khi nghieân cöùu kyõ caùc caáp lôùp khaùc nhau trong caùc chöông sau. Caáu truùc cuûa moät maùy tính ñôn giaûn coù theå ñöôïc hình dung nhö sau: Ñôn vò Ñieàu khieån (CU) Ñôn vò Soá hoïc vaø Logic (ALU) Caùc thanh ghi Boä Nhôù Chính Ñóa Maùy in Thieát bò Vaøo / Ra Bus Hình 2.1 I. CAÙC BOÄ XÖÛ LYÙ Boä xöû lyù trung taâm (CPU) laø ñaàu naõo cuûa maùy tính. Chöùc naêng cuûa noù laø thöïc hieän caùc chöông trình naèm trong boä nhôù chính baèng caùch naïp leänh sau ñoù giaûi maõ roài thöïc hieän tuaàn töï heát leänh naøy ñeán leänh khaùc. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  16. Caán Truùc Maùy Tính -16- Boä xöû lyù trung taâm goàm ñôn vò ñieàu khieån (giöõ nhieäm vuï laáy leänh, giaûi maõ leänh) vaø ñôn vò soá hoïc vaø logic (thöïc hieän caùc pheùp toaùn nhö coäng, tröø, nhaân, chia, VAØ, HOAËC v.v CPU goàm coù caùc thanh ghi cho pheùp löu giöõ keát quaû taïm thôøi hoaëc thoâng tin ñieàu khieån. Moãi thanh ghi coù moät chöùc naêng rieâng. Thanh ghi quan troïng nhaát laø thanh ñeám chöông trình (Program Counter) chæ ñeán vò trí cuûa leänh tieáp theo seõ thöïc hieän. Ngoaøi ra coù thanh ghi leänh (Instruction register). Haàu heát caùc maùy tính ñeàu coù caùc thanh ghi nhö thanh ghi chöùa (accumulator), thanh ghi chæ soá (index register), thanh ghi traïng thaùi (status register), con troû ngaên xeáp (stack pointer) v.v 1. Thöïc hieän leänh CPU thöïc hieän leänh tuaàn töï nhö sau: a. Tìm naïp leänh keá tieáp töø boä nhôù vaøo thanh ghi leänh b. Thay ñoåi noäi dung thanh ñeám chöông trình ñeå xaùc ñònh ñòa chæ leänh keá c. Giaûi maõ leänh vöøa naïp d. Xaùc ñònh nôi chöùa döõ lieäu trong boä nhôù e. Tìm naïp döõ lieäu vaøo caùc thanh ghi trong CPU neáu caàn thieát f. Thöïc hieän leänh g. Löu keát quaû vaøo nôi thích hôïp h. Trôû veà böôùc 1 ñeå thöïc hieän leänh keá tieáp Caùc böôùc tuaàn töï treân goïi laø chu kyø tìm naïp-giaûi maõ- thöïc hieän leänh Taäp hôïp taát caû leänh ngöôøi laäp trình coù theå söû duïng ôû moät caáp ñöôïc goïi laø taäp caùc leänh hay goïi ngaén ngoïn laø taäp leänh (instruction set) cuûa caáp ñoù. Ñoái vôùi caáp maùy qui öôùc, soá leänh cuûa moät taäp leänh thöôøng trong khoaûng töø 20 ñeán 300. Moät taäp leänh coù soá leänh lôùn khoâng nhaát thieát toát hôn moät taäp leänh nhoû. Xu höôùng trong thöïc teá seõ ngöôïc laïi, moät taäp leänh nhoû seõ toát hôn. Moät taäp lôùn thöôøng toàn taïi nhieàu leänh khoâng ñöôïc söû duïng roäng raõi. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  17. Caán Truùc Maùy Tính -17- Caùc trình bieân dòch (compiler) cuûa caùc ngoân ngöõ caáp cao nhö Ada, Modula 2, Pascal, C thöôøng hoaït ñoäng toát treân caùc maùy coù taäp leänh nhoû vaø ñöôïc choïn loïc hôn laø treân caùc maùy coù taäp leänh lôùn, coàng keành vaø khoù söû duïng. Maùy tính coù moät taäp leänh raát nhoû goïi laø maùy coù taäp leänh ñöôïc ruùt goïn RISC (Reduced Instruction Set Computer). Maùy tính naøy thao taùc raát nhanh. 2. Toå chöùc CPU Ñöôøng döõ lieäu (data path) cuûa moät maùy von Neumann kinh ñieån A+B A B A B ALU A+B Hình 2.2 Ñöôøng döõ lieäu bao goàm caùc thanh ghi vaø ñôn vò soá hoïc vaø logic, caùc thanh ghi naøy coù theå ñöa giaù trò vaøo 2 thanh ghi nhaäp vaøo teân A, B. Hai thanh ghi naøy choát caùc ngoõ nhaäp vaøo cuûa ñôn vò soá hoïc vaø logic trong luùc ALU tính toaùn. ALU thöïc hieän pheùp toaùn coäng, tröø vaø caùc thao taùc (operation) ñôn giaûn khaùc treân caùc toaùn haïng (operand) chöùa trong A vaø B, ñöa ra keát quaû treân thanh ghi xuaát ra. Döõ lieäu trong thanh ghi xuaát coù theå ñöôïc caát giöõ trôû laïi moät thanh ghi cuûa CPU hoaëc ñöa trôû laïi boä nhôù neáu muoán. Trong hình treân pheùp coäng ñöôïc söû duïng ñeå minh hoaï. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  18. Caán Truùc Maùy Tính -18- 3. Thöïc hieän leänh song song: Töø nhöõng ngaøy ñaàu khai sinh ra maùy tính, nhöõng nhaø thieát keá ñaõ coá gaéng taïo ra nhöõng maùy tính xöû lyù nhanh. Ñeå laøm ñöôïc ñieàu aáy, ngöôøi ta ñaõ tìm nhieàu bieän phaùp ñeå hoaøn thieän phaàn cöùng. Tuy nhieân, nhieáu giôùi haïn vaät lyù khaùc nhau baét ñaàu xuaát hieän khi taêng toác ñoä phaàn cöùng. Ví duï: Khoâng coù moät tín hieäu naøo coù theå di chuyeån vöôït ñöôïc vaän toác cuûa aùnh saùng trong chaân khoâng, khoaûng 30cm/ngiaây vaø trong caùp ñoàng laø 20cm/ngiaây. Ñieàu naøy coù nghóa laø ñeå xaây döïng moät maùy tính coù thôøi gian leänh laø 1 ngiaây, toaøn boä khoaûng caùch maø tín hieäu coù theå di chuyeån töø CPU ñeán boä nhôù vaø ngöôïc laïi seõ khoâng theå lôùn hôn 20 cm. Vì theá caùc maùy tính coù toác ñoä caøng nhanh phaûi coù kích thöôùc caøng nhoû. Vôùi caùc maùy tính coù toác ñoä cao, khaû naêng sinh nhieät lôùn vaø neáu laép maùy tính vaøo 1 theå tích nhoû thì seõ khoù tieâu taùn nhieät. Ñoâi khi caùc sieâu maùy tính ñöôïc ñaët chìm trong chaát loûng freon, moät chaát duøng laøm nguoäi nhanh. Ñeå giaûi quyeát vaán ñeà naøy, thay vì taïo ra moät CPU toác ñoä cao, ngöôøi ta thieát keá maùy tính goàm nhieàu CPU toác ñoä chaäm hôn nhöng hoaït ñoäng song song. Nhieàu coâng trình nghieân cöùu ñaõ ñöôïc tieán haønh ñeå xaây döïng nhöõng maùy tính song song nhö vaäy. Maùy tính song song ñöôïc chia thaønh 3 loaïi (theo Flynn, 1971) döïa vaøo soá luoàng leänh (instruction stream) vaø soá luoàng döõ lieäu (data stream) cuûa maùy tính ñoù: - SISD: maùy loaïi ñôn leänh, ñôn döõ lieäu (Single Instruction stream, Single Data stream) - SIMD: maùy loaïi ñôn leänh, ña döõ lieäu (Single Instruction stream, Multiple Data stream) - MIMD: maùy loaïi ña leänh, ña döõ lieäu (Multiple Instruction stream, Multiple Data stream) Maùy von Neumann truyeàn thoáng thuoäc loaïi SISD, coù moät luoàng leänh (nghóa laø moät chöông trình) ñöôïc thöïc hieän bôûi 1 CPU vaø coù moät boä nhôù chöùa döõ lieäu. Leänh ñaàu tieân ñöôïc tìm-naïp töø boä nhôù vaø thöïc hieän. Leänh thöù hai ñöôïc tìm-naïp vaø thöïc hieän v.v Ngay caû trong moâ hình tuaàn töï naøy, coù theå nghó ñeán 1 quaù trình song song nhö tìm-naïp leänh keá tieáp tröôùc khi leänh ñang thöïc hieän hoaøn taát. Vôùi maùy tính CDC6600 coù nhieàu ñôn vò chöùc naêng (caùc ALU) Nguyeãn Höõu Loäc Khoa Vaät Lyù
  19. Caán Truùc Maùy Tính -19- Hình 2.3: Moät CPU vôùi 5 ñôn vò chöùc naêng hoaït ñoäng song song YÙ töôûng cuûa phöông phaùp thieát keá naøy laø ñôn vò ñieàu khieån tìm-naïp moät leänh vaø sau ñoù ñöa ñeán moät ñôn vò chöùc naêng thích hôïp ñeå thöïc hieän. Trong luùc ñoù, ñôn vò ñieàu khieån tìm-naïp chæ thò keá tieáp vaø ñöa ñeán moät ñôn vò chöùc naêng khaùc. Quaù trình naøy tieáp tuïc cho ñeán khi khoâng theå tieáp tuïc ñöôïc nöõa, hoaëc vì taát caû caùc ñôn vò chöùc naêng cuøng loaïi ñang baän hoaëc moät toaùn haïng vaãn coøn ñang ñöôïc tính toaùn. Moät bieán thaùi cuûa yù töôûng naøy laø taùch vieäc thöïc hieän moät leänh ra thaønh nhieàu phaàn. Trong hình sau ta thaáy moät CPU coù 5 ñôn vò xöû lyù Hình 2.4: Moät maùy ñöôøng oáng coù 5 ñôn vò xöû lyù Caùch toå chöùc nhö trong hình ñöôïc goïi laø maùy ñöôøng oáng (Pipeline machine). Neáu thôøi gian daønh cho moãi ñôn vò xöû lyù laø m ngiaây thì phaûi maát 5m ngiaây ñeå thöïc hieän moät leänh. Tuy nhieân vôùi caùc toå chöùc treân coù theå xem moãi leänh thöïc hieän chæ trong m ngiaây do vaäy taêng toác ñoä xöû lyù leänh cuûa maùy leân gaáp 5 laàn. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  20. Caán Truùc Maùy Tính -20- Chuù yù raèng maëc duø maùy söû duïng cô cheá song song beân trong, moät maùy ñöôøng oáng daãn vaãn laø maùy SISD do chæ coù moät chöông trình vaø moät taäp döõ lieäu. Ngöôïc laïi, caùc maùy SIMD thao taùc treân nhieàu taäp döõ lieäu song song. ÖÙng duïng ñieån hình cuûa loaïi maùy SIMD laø döï baùo thôøi tieát. Thí duï nhö tính nhieät ñoä trung bình haøng ngaøy cho nhieàu vuøng, phöông phaùp tính ñeàu gioáng nhau nhöng vôùi caùc döõ lieäu khaùc. Moät caáu truùc khaù thích hôïp cho coâng vieäc naøy laø maùy vector (vector machine) döôïc trính baøy trong hình 2.5 Ñöôøng döõ lieäu ôû ñaây töông töï nhö trong hình 2.2 , chæ khaùc ôû choã thay vì coù moät bieán ñôn cho töøng ngoõ nhaäp cuûa ALU, ta coù moät vector vôùi n ngoõ nhaäp. Töông töï ALU thöïc söï laø moät ALU vector, coù khaû naêng thöïc hieän moät thao taùc nhö pheùp coâng vector (hình 2.5 b) treân 2 vector nhaäp vaø keát quûa ñöôïc laáy ra ôû vector xuaát. Moät soá sieâu maùy tính coù caáu truùc töông töï vôùi caáu truùc naøy. Hình 2.5 Moät maùy khaùc gaàn gioáng vôùi SIMD laø boä xöû lyù daõy (array processor, moät thieát keá khôûi ñaàu töø Ñaïi hoïc Illinois. Ñoù laø maùy tính ILLIAC IV nhö minh hoïa trong hình 2.6 sau: Nguyeãn Höõu Loäc Khoa Vaät Lyù
  21. Caán Truùc Maùy Tính -21- Hình 2.6: Boä xöû lyù daõy cuûa maùy ILLIAC IV Caáu truùc naøy bao goàm moät maïng vuoâng caùc phaàn töû boä xöû lyù / boä nhôù. Moät ñôn vò ñieàu khieån truyeàn caùc leänh vaø chuùng ñöôïc thöïc hieän bôûi taát caû caùc boä xöû lyù theo kieåu saùt goùt (lockstep), moãi boä xöû lyù söû duïng döõ lieäu rieâng laáy töø moät boä nhôù rieâng. Boä xöû lyù daõy ñaëc bieät thích hôïp cho vieäc tính toaùn ma traän. Loaïi maùy thöù ba laø MIMD, trong ñoù caùc CPU khaùc nhau laøm vieäc vôùi nhöõng chöông trình khaùc nhau, thænh thoaûng chuùng söû duïng chung moät boä nhôù. Heä thoáng ñaët choã tröôùc trong maùy bay laø moät thí duï, nhieàu ngöôøi cuøng ñaët choã ñoàng thôøi nhöng khoâng tieán haønh song song, maø töøng leänh moät vì chuùng ta coù nhieàu luoàng leänh vaø nhieàu luoàng döõ lieäu. Hình 2.7 a trình baøy moät boä ña xöû lyù (multiprocessor), moät maùy MIMD söû duïng boä nhôù chia seû (shared memory). Caùc boä xöû lyù truy xuaát tôùi boä nhôù chia seû (duøng chung) thoâng qua bus. Hình 2.6 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  22. Caán Truùc Maùy Tính -22- Khi nhieàu boä xöû lyù toác ñoä nhanh truy xuaát ñoàng thôøi tôùi boä nhôù chia seû (duøng chung) treân cuøng moät bus thì seõ xaûy ra xung ñoät (conflict). Nhöõng nhaø thieát keá boä ña xöû lyù ñaõ tìm nhieàu phöông aùn khaùc nhau ñeå giaûm thieåu söï tranh chaáp vaø caûi thieän hieäu xuaát. Moät thieát keá ñoù ñöôïc trình baøy trong hình 2.6b cho thaáy moãi boä xöû lyù coù moät boä nhôù cuïc boä (rieâng), caùc boä xöû lyù khaùc khoâng theå thaâm nhaäp ñeán. Boä nhôù naøy söû duïng cho caùc maõ chöông trình vaø döõ lieäu khoâng caàn chia seû. Vieäc truy xuaát boä nhôù rieâng khoâng duøng ñeán bus chính seõ laøm giaûm moät löôïng lôùn löu löôïng treân bus chính. Caùc boä ña xöû lyù khaùc khoâng söû duïng moät bus maø duøng nhieàu bus ñeå laøm giaûm taûi. Moät soá khaùc söû duïng caching, moät kyõ thuaät söû duïng caùc töø nhôù ñöôïc thöôøng xuyeân söû duïng trong töøng boä xöû lyù. II- BOÄ NHÔÙ CHÍNH: Boä nhôù laø moät phaàn cuûa maùy tính duøng ñeå chöùa chöông trình vaø döõ lieäu ñang thöïc hieän. Khoâng coù maùy tính soá naøo löu tröõ chöông trình maø khoâng coù boä nhôù, ñeå töø ñoù boä xöû lyù coù theå ghi vaø ñoïc thoâng tin 1. Bit Ñôn vò cô baûn cuûa boä nhôù laø moät chöõ soá nhò phaân goïi laø bit (binary digit). Moät bit coù theå laø 0 hoaëc 1. Ngöôøi ta thöôøng cho raèng caùc maùy tính söû duïng soá nhò phaân laø vì tính hieäu quûa cuûa loaïi soá naøy. Ngöôøi ta thaáy raèng thoâng tin soá coù theå ñöôïc caát giöõ baèng caùch phaân bieät caùc giaù trò khaùc nhau cuûa moät ñaïi löôïng vaät lyù lieân tuïc nhö ñieän aùp hoaëc doøng ñieän. Caøng nhieàu giaù trò caàn ñöôïc phaân bieät, caøng ít coù söï khaùc bieät giöõa 2 giaù trò keà caän nhau vaø caøng khoù tin caäy vaøo boä nhôù. Heä thoáng soá nhò phaân chæ yeâu caàu 2 giaù trò ñeå phaân bieät, do vaäy ñaây laø phöông phaùp ñaùng tin caäy nhaát ñeå maõ hoaù thoâng tin soá. Moät soá maùy tính nhö caùc mainframe cuûa IBM, ñöôïc quaûng caùo coù theå söû duïng caû soá thaäp phaân laãn soá nhò phaân. Möu meïo naøy ñaït ñöôïc baèng caùch duøng 4 bit ñeå chöùa moät soá thaäp phaân. 4 bit cho ta 16 toå hôïp, duøng cho 10 soá töø 0 ñeán 9 coøn 6 toå hôïp khoâng söû duïng. Thí duï: 16 bit ôû daïng thaäp phaân coù theå chöùa caùc soá töø 0 tôùi 9999, chæ cho 10000 toå hôïp trong khi 16 bit nhò phaân coù theå chöùa 65536 toå hôïp khaùc nhau. Vì lyù do naøy ngöôøi ta noùi soá nhò phaân hieäu quûa hôn soá thaäp phaân. Tuy nhieân ñieàu gì seõ xaûy ra, neáu moät ngöôøi naøo ñoù thoâng minh coù theå taïo ra moät linh kieän ñieän töû ñoä tin caäy cao coù theå chöùa tröïc tieáp caùc soá töø 0 ñeán 9 baèng caùch chia ñieän aùp töø 0 tôùi 10 volt thaønh 10 khoaûng. 4 linh kieän naøy coù theå chöùa baát kyø soá thaäp phaân naøo töø 0 tôùi 9999. 4 linh kieän nhö vaäy seõ cung caáp 10000 toå hôïp. Cuõng coù theå Nguyeãn Höõu Loäc Khoa Vaät Lyù
  23. Caán Truùc Maùy Tính -23- duøng chuùng ñeå bieåu dieãn caùc soá nhò phaân, chæ duøng 0 vaø 1. Trong tröôøng hôïp naøy ta chæ coù 16 toå hôïp. Vôùi nhöõng linh kieän nhö vaäy, roõ raøng soá thaäp phaân coù hieäu quaû hôn. 2. Ñòa chæ boä nhôù: Boä nhôù goàm caùc oâ nhôù hay coøn goïi laø vò trí nhôù (location). Moãi oâ nhôù chöùa moät maãu thoâng tin (piece of information). Moãi oâ nhôù coù moät soá goïi laø ñòa chæ hoaëc vò chæ (address) cuûa oâ nhôù. Caùc chöông trình coù theå tham chieáu ñeán caùc ñòa chæ naøy. Neáu boä nhôù coù n oâ nhôù, chuùng seõ ñaùnh ñòa chæ töø 0 tôùi n-1. Caùc oâ nhôù chöùa cuøng moät soá bit. Moät oâ nhôù coù k bit seõ coù theå chöùa 1 trong 2k toå hôïp bit khaùc nhau. Hình 2.7 trình baøy 3 caùch toå chöùc khaùc nhau cho moät boä nhôù 96 bit. Neáu 1 ñòa chæ coù m bit, soá oâ nhôù toái ña coù theå ñòa chæ hoaù (ñaùnh ñòa chæ) tröïc tieáp laø 2m. Hình 2.7 Thí duï: Trong hình 2.7 a caàn ít nhaát 4 bit ñeå dieãn taû caùc soá töø 0 ñeán 11. Tuy nhieân chæ caàn 3 bit ñeå dieãn taû ñòa chæ trong caùc hình 2.7b vaø 2.7c Soá bit trong ñòa chæ lieân quan ñeán soá oâ nhôù toái ña coù theå ñòa chæ hoùa tröïc tieáp trong boä nhôù vaø khoâng tuøy thuoäc vaøo soá bit cuûa moãi oâ nhôù. Moät boä nhôù coù 212 oâ nhôù, moãi oâ nhôù coù 8 bit vaø moät boä nhôù coù 212 oâ nhôù, moãi oâ nhôù coù 60 bit thì caû hai ñeàu caàn 12 bit cho ñòa chæ, tuy nhieân dung löôïng boä nhôù tröôùc nhoû hôn boä nhôù sau. Soá bit cuûa moãi oâ nhôù ñoái vôùi moät soá maùy tính ñaõ ñöôïc baùn treân thò tröôøng nhö sau: Bourroughs B 1700 1 bit /oâ nhôù IBM-PC 8 bit /oâ nhôù DEC PDP-8 12 bit /oâ nhôù IBM 1130 16 bit /oâ nhôù Electrologica X8 27 bit /oâ nhôù Nguyeãn Höõu Loäc Khoa Vaät Lyù
  24. Caán Truùc Maùy Tính -24- Honeywell 6180 36 bits /oâ nhôù CDC Cyber 60 bits / oâ nhôù Trong nhöõng naêm gaàn ñaây, haàu heát caùc nhaø cheá taïomaùy tính ñeàu chuaån hoaù 1 oâ nhôù coù 8 bit vaø goïi laø moät byte. Nhieàu byte goäp laïi thaønh töø (word). Moät maùy tính söû duïng 1 töø 16 bit nghóa laø maùy coù 2 byte/töø, trong khi ñoù moät maùy duøng 1 töø 32 bit seõ coù 4 byte/töø. Haàu heát caùc leänh cuûa maùy tính ñeàu thao taùc treân töø, thí duï coäng 2 töø vôùi nhau. Do vaäy, moät maùy 16 bit seõ coù caùc thanh ghi 16 bit vaø caùc leänh ñeå thao taùc caùc töø 16 bit, maùy coù 32 bit seõ coù caùc thanh ghi 32 bit vaø caùc leänh ñeå thöïc hieän pheùp dòch chuyeån, coäng, tröø vaø caùc thao taùc khaùc treân caùc töø 32 bit. 3. Traät töï cuûa byte: Byte trong 1 töø ñöôïc ñaùnh soá töø traùi sang phaûi hoaëc töø phaûi sang traùi. Söï löïa choïn naøy thoaït nhìn khoâng quan troïng nhöng bao haøm moät yù nghóa raát lôùn. Hình 2.8a mieâu taû moät phaàn boä nhôù cuûa moät maùy tính 32 bit, trong ñoù caùc byte ñöôïc ñaùnh soá töø traùi sang phaûi ñoái vôùi hoï Motorola chaúng haïn. Hình 2.8b ñaïi dieân cho hoï maùy tính 32 bit duøng phöông phaùp ñaùnh soá thöø phaûi sang traùi chaúng haïn nhö hoï Intel. Heä thoáng ñaùnh soá baét ñaàu töø soá lôùn goïi laø maùy tính Big-endian (baäc cao) ngöôïc laïi Little-endian (baäc thaáp) Ñòa chæ Big Endian Little Endian Ñòa chæ 0 0 4 4 8 8 0 1 1 0 12 1 2 3 4 5 5 4 3 2 2 Byte Byte Töø 32 bits Töø 32 bit (a) (b) Hình 2.8 Ñieàu quan troïng caàn hieåu trong caû 2 heä thoáng Big-endian vaø Little-endian laø khi maùy tính muoán göûi hoà sô töø maùy tính naøy sang maùy tính khaùc treân maïng. Caùc soá seõ bò ñaûo ngöôïc vaø phaûi caàn coù moät giaûi phaùp phaàn meàm ñeå ñoåi caùc byte trong 1 töø sau khi sao cheùp. Coù moät phöông phaùp khaùc nhöng cuõng khoâng hieäu quaû laém laø theâm 1 header tröôùc moãi hoà sô cho bieát loaïi döõ lieäu theo sau (chuoãi, soá nguyeân hoaëc döõ lieäu khaùc) vaø Nguyeãn Höõu Loäc Khoa Vaät Lyù
  25. Caán Truùc Maùy Tính -25- chieàu daøi laø bao nhieâu. Ñieàu naøy cho pheùp maùy tính nhaän chæ phaûi thöïc hieän nhöõng chuyeån ñoåi caàn thieát. Trong baát kyø tröôøng hôïp naøo ta cuõng thaáy raèng vieäc thieáu moät tieâu chuaån veà traät töï byte laø noãi phieàn toaùi chính khi trao ñoåi döõ lieäu giöõa caùc maùy tính khaùc nhau. 4. Maõ söûa loãi: Thænh thoaûng boä nhôù maùy tính cuõng taïo ra loãi do caùc xung ñieän aùp treân ñöôøng caáp ñieän hoaëc do nhöõng nguyeân nhaân khaùc. Ñeå traùnh nhöõng loãi nhö vaäy, caùc boä nhôù ñeàu duøng caùc maõ phaùt hieän loãi hoaëc caùc maõ söûa loãi. Khi söû duïng caùc maõ naøy, caùc bit phuï ñöôïc theâm vaøo ôû moãi töø nhôù theo moät phöông phaùp ñaëc bieät. Khi ñoïc moät töø ra khoûi boä nhôù, caùc bit phuï ñöôïc kieåm tra ñeå xem coù loãi hay khoâng. Ñeå hieåu caùc loãi ñöôïc xöû lyù nhö theá naøo ta caàn phaûi bieát thöïc söï loãi laø gì? Giaû söû moät töø nhôù coù m bit döõ lieäu vaø ta seõ theâm vaøo r bit dö thöøa (redundant) hoaëc r bit kieåm tra. Ñaët toaøn boä chieàu daøi bit laø n (n=m+r). Moät ñôn vò coù m bit döõ lieäu vaø r bit kieåm tra ñöôïc xem nhö moät töø maõ (code word) n bit. Cho 2 töø maõ 10001001 vaø 10110001, ta coù theå xaùc ñònh chuùng coù bao nhieâu bit töông öùng khaùc nhau, ôû thí duï naøy 2 töø maõ coù 3 bit khaùc nhau. Ñeå xaùc ñònh soá bit khaùc nhau, ta chæ caàn thöïc hieän pheùp toaùn XOR theo bit hai töø maõ ñaõ cho va ñeám soá bit 1 trong keát quaû. Soá caùc bit treân 2 töø maõ khaùc nhau goïi laø khoaûng caùch Hamming. YÙ nghóa cuûa vieäc xaùc ñònh khoaûng caùch laø neáu 2 töø maõ coù khoaûng caùch Hamming laø d, caàn coù d loãi ñôn bit (single bit error) seõ ñoåi maõ naøy thaønh maõ kia. Thí duï caùc töø maõ 11110001 vaø 00110000 coù khoaûng caùch Hamming laø 3 vì caàn coù 3 loãi ñôn bit ñeå ñoåi maõ naøy thaønh maõ kia. Vôùi moät töø nhôù m bit, taát caû 2m toå hôïp caùc bit ñeàu hôïp leä nhöng do coù tính caùc bit kieåm tra, chæ coù 2m trong 2n töø maõ coù giaù trò hôïp leä. Khi ñoïc boä nhôù thaáy xuaát hieän moät töø maõ khoâng hôïp leä, maùy tính hieåu raèng ñaõ xaûy ra moät loãi boä nhôù. Cho moät giaûi thuaät ñeå tính caùc bit kieåm tra, ta coù theå xaây döïng moät danh saùch caùc töø ma hoaøn toaøn hôïp leä, töø dfanh saùch naøy tìm ra 2 töø maõ coù khoaûng caùch Hamming nhoû nhaát. Khoaûng caùch naøy laø khoaûng caùch Hamming ñaày ñuû. Thí duï: Haõy xem moät bieåu dieãn ñoà hoaï ñôn giaûn minh hoïa roõ yù töôûng veà maõ söûa loãi cho caùc töø nhôù 4 bit Sô ñoà Venn hình 2.9 coù 3 voøng troøn A, B vaø C taïo thaønh 7 vuøng khaùc nhau. Thí duï ta maõ hoaù töø nhôù 4 bit 1100 trong caùc vuøng AB,ABC, AC vaø BC. Cöù 1 bit cho 1 vuøng. Keá tieáp ta theâm 1 bit kieåm tra chaún leû vaøo töøng vuøng troáng coøn laïi ñeå taïo ra kieåm tra chaün. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  26. Caán Truùc Maùy Tính -26- Hình 2.9 Kích thöôùc töø Soá bit kieåm tra Kích thöôùc chung Phaàn traêm 8 4 12 50 16 5 21 31 32 6 38 19 64 7 71 11 128 8 136 6 256 9 265 4 512 10 522 2 Hình 2.10: Soá bit kieåm tra caàn thieát cho maõ söûa loãi ñôn 5. Boä nhôù chính trong caùc IBM PC Caùc maùy tính caù nhaân PC (Personal computer) ban ñaàu söû duïng caùc chip vi xöû lyù 20 bit ñòa chæ coù khaû naêng ñòa chæ hoaù moät khoâng gian boä nhôù toái ña 1 MB trong ñoù 640KB döôùi ñöôïc goïi laø vuøng nhôù qui öôùc (conventionnal memory), 384 KB treân laø vuøng nhôù döï tröõ cho heä thoáng hay coøn goïi vuøng nhôù cao UNA (Upper Memory Area). Söï saép xeáp naøy toàn taïi ñeán baây giôø. Boä nhôù 1MB ñöôïc chia laøm 16 vuøng nhôù, moãi vuøng 64 KB goïi laø phaân ñoaïn (segment) ñöôïc ñaùnh soá töø 0 ñeán F (coøn goïi laø caùc phaân ñoaïn töø 0000 ñeán F000) 640 KB vuøng nhôù qui öôùc bao goàm caùc phaân ñoaïn töø 0000 ñeán 9000 vaø 384 KB vuøng nhôù döï tröõ cho heä thoáng bao goàm caùc phaân ñoaïn töø A000 ñeán F000. Caùc chip vi xöû lyù coù nhieàu bit ñòa chæ hôn laàn löôït ra ñôøi laøm cho khoâng gian boä nhôù toái ña taêng daàn (16M ñoái vôùi 80286; 4G ñoái vôùi 80386, 80486, Pentium, Pentium MMX, Pentium Pro; 64G ñoái vôùi Pentium II) Vuøng nhôù lôùn hôn 1MB goïi laø vuøng nhôù môû roäng (extended memory). Neáu boâ vi xöû lyù chaïy ôû cheá ñoä thöïc (real mode), chæ coù 1 MB ñaàu tieân ñöôïc truy xuaát. Ngöôïc laïi, neáu boä vi xöû lyù ôû trong cheá ñoä baûo veä (protected mode), toaøn boä khoâng gian nhôù coù theå truy xuaát ñöôïc. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  27. Caán Truùc Maùy Tính -27- Moät vaán ñeà quan troïng ñaõ xaûy ra trong caùc PC laø söï xung ñoät giöõa caùc chip boä nhôù RAM (Random Access Memory) ñöôïc caøi ñaët cuøng vôùi boä nhôù daønh cho heä thoáng, do vaäy 384 KB RAM truøng ñòa chæ vôùi vuøng nhôù daønh cho heä thoáng seõ bò boû qua (nghóa laø toång dung löôïng boä nhôù RAM söû duïng ñöôïc seõ baèng toång dung löôïng boä nhôù RAM caøi ñaët tröø ñi 384 K). Thí duï caùc PC coù 4 MB RAM ñöôïc caøi ñaët cho thaáy chæ coù 3712 KB ñöôïc söû duïng bao goàm 640KB cho vuøng nhôù qui öôùc vaø 3072 KB cho vuøng nhôù môû roäng. Tuy vaäy vaãn coù caùc PC chæ thieáu 128KB thay vì 384KB nhôø vaøo caùc bieän phaùp saép xeáp laïi boä nhôù. Söï xung ñoät xaûy ra do caùc phaân ñoaïn A000 vaø B000 ñöôïc daønh cho RAM video, caùc phaân ñoaïn C000 vaø D000 ñöôïc daønh cho boä nhôù chæ ñoïc ROM vaø RAM cuûa caùc board caém treân caùc khe caém môû roäng (expansion slot) cuûa board chính (mainboard), caùc phaân ñoaïn E000 vaø F000 ñöôïc daønh cho boä nhôù chæ ñoïc chöùa heä xuaát nhaäp cô baûn ROM BIOS (Basic Input Output System) treân board chính. Ñieàu naøy coù nghóa laø taát caû RAM chieám nhöõng ñòa chæ naøy phaûi bò taét hoaëc caùc thaønh phaàn neâu treân khoâng thöïc hieän ñöôïc chöùc naêng cuûa mình ñeå traùnh xung ñoät trong vuøng UMA. Caùc nhaø thieát keá board chính thöôøng thöïc hieän caùc khaû naêng sau ñeå traùnh xung ñoät: - Söû duïng RAM nhanh hôn ñeå löu tröõ baûn sao cuûa caùc ROM chaäâm, goïi laø taïo cöûa soå, voâ hieäu hoaù caùc ROM naøy trong xöû lyù. - Taét caùc RAM khoâng söû duïng taïo cöûa soå nhaèm traùnh xung ñoät trong vuøng UMA. - Saép xeáp laïi RAM khoâng ñöôïc söû duïng taïo cöûa soå. Phaàn lôùn caùc PC taïo cöûa soå cho ROM BIOS (thöôøng laø 64K), ROM video (32K)RAM duøng trong boä nhôù chính laø RAM ñoäng (Dynamic RAM) vaø caùc RAM ñoäng caûi tieán nhö EDO-RAM (Extended Data Out RAM) vaø SDRAM (Synchronous DRAM) coù thôøi gian truy xuaát trong khoaûng töø 10 nsec ñeán 200 nsec. Caùc chip nhôù RAM hieän nay ñöôïc gheùp thaønh caùc moñun nhôù moät haøng chaân goïi laø SIMM hoaëc caùc moñun nhôù hai haøng chaân goïi laø DIMM. Caùc SIMM 30 chaân coù dung löôïng 256K, 1M, 4M, 16 MB nhôù (8 bit hoaëc 9 bit neáu coù bit chaün leû) Caùc SIMM 72 chaân coù dung löôïng 1 M, 2M, 4M, 8 M, 16 M, 32M vaø 64 MB nhôù hay 256K, 512K, 1M, 2M, 4M, 8 M, 16 M töø nhôù 32 bit (hoaëc 36 bit neáu keå theâm caùc bit kieåm tra chaún leû) Nguyeãn Höõu Loäc Khoa Vaät Lyù
  28. Caán Truùc Maùy Tính -28- Caùc DIMM 168 chaân coù dung löôïng 1M, 2M, 4M, 8 M, 16 M töø nhôù 64 bit (hoaëc 72 bit neáu keå theâm caùc bit kieåm tra chaün leû). Ngoaøi boä nhôù RAM ñoäng, trong caùc PC coøn toàn taïi caùc boä nhôù chæ ñoïc ROM löu caùc chöông trình coá ñònh nhö ROM BIOS vaø ROM baøn phím hay boä ñieàu khieån baøn phím. ROM BIOS chöùa caùc chöông trình thöïc hieän caùc chöùc naêng cô baûn sau: - Kieåm tra nhöõng thaønh phaàn cuûa maùy tính khi khôûi ñoäng nhö: boä nhôù, board chính, board video, boä ñieàu khieån ñóa, baøn phím vaø nhöõng thaønh phaàn quan troïng khaùc cuûa maùy tính. - Tìm vaø naïp heä ñieàu haønh. - Cung caáp caùc chöông trình cho boä vi xöû lyù ñeå thöïc hieän caùc thao taùc lieân quan ñeán caùc thieát bò xuaát/nhaäp. III- CAÙC THIEÁT BÒ LÖU TRÖÕ (BOÄ NHÔÙ PHUÏ): Vì moãi töø nhôù trong boä nhôù chính ñöôïc truy xuaát tröïc tieáp vôùi thôøi gian raát ngaén, giaù thaønh cuûa boä nhôù chính töông ñoái cao. Do ñoù haàu heát caùc maùy tính ñeàu coù theâm caùc thieát bò löu tröõ (boä nhôù phuï) toác ñoä thaáp, reû hôn vaø thöôøng coù dung löôïng lôùn hôn nhieàu. 1. Baêng töø: Veà maët lòch söû, baêng töø (magnetic tape) laø thieát bò löu tröõ ñaàu tieân. OÅ baêng töø cuûa maùy tính töông töï nhö maùy ghi baêng trong gia ñình. Baêng töø coù chieàu daøi 2400 ft ñöôïc quaán treân moät oáng cho (feed reel) qua 1 ñaàu ghi ñeán oáng nhaän (take-up reel). Baèng caùch thay ñoåi doøng ñieän trong ñaàu ghi, maùy tính coù theå ghi thoâng tin leân baêng töø ôû daïng caùc veät töø hoaù nhoû (magnetized spot) Hình 2.11 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  29. Caán Truùc Maùy Tính -29- Hình 2.11 trình baøy caùch toå chöùc thoâng tin treân baêng töø. ÔÛ moät maùy tính vôùi caùc byte 8 bit, moãi khung (frame) chöùa 1 byte coäng theâm 1 bit phuï (dö), goïi laø bit kieåm tra chaün leû ñeå caûi thieän ñoä tin caäy. Maät ñoä ghi tieâu bieåu cuûa baêng töø laø 1600bpi (byte per inch). Maät ñoä thöôøng duøng khaùc laø 800bpi vaø 6250 bpi. Sau khi oå baêng töø thöïc hieän xong vieäc ghi 1 baûn ghi vaät lyù (physical record), 1 khe (gap) ñöôïc ñeå laïi treân baêng töø trong luùc oå baêng töø giaûm (taêng) toác ñoä xuoáng (leân) khi döøng (khôûi ñoäng) baêng tröôùc ñaàu ñoïc . Neáu chöông trình ghi caùc baûn ghi ngaén treân baêng töø, nhieàu khoaûng troáng seõ bò boû phí ôû caùc khe. Baèng caùch ghi caùc baûn ghi daøi hôn caùc khe nhieàu, vieäc söû duïng baêng töø seõ coù hieäu quaû cao. Baêng töø laø loaïi thieát bò truy xuaát tuaàn töï noái tieáp. Neáu baêng töø ñöôïc ñònh vò ôû vò trí khôûi ñaàu (ñaàu töø ñang ôû ñaàu baêng), muoán ñoïc baûn ghi n, ta phaûi ñoïc qua heát caùc baûn ghi töø 1 tôùi n-1. Neáu thoâng tin muoán ñoïc naèm ôû cuoái baêng, chöông trình phaûi ñoïc haàu nhö toaøn boä baêng vaø maát khoaûng vaøi phuùt. CPU coù theå thöïc hieän haøng trieäu leänh moãi giaây, trong luùc baêng töø laïi laøm gia taêng söï laõng phí veà thôøi gian. Haàu nhö baêng töø chæ thích hôïp khi döõ lieäu ñöôïc truy xuaát tuaàn töï noái tieáp. 2. Ñóa töø Ñóa töø (disk) laø moät ñóa kim loaïi hình troøn coù ñöôøng kính töø 5 tôùi 10 inch ñöôïc phuû töø treân 2 maët bôûi nhaø saûn xuaát (hình 2.12). Thoâng tin ñöôïc ghi treân moät soá voøng troøn ñoàng taâm goïi laø raõnh hoaëc coøn goïi töø ñaïo (track). Ñóa coù töø vaøi chuïc ñeán vaøi traêm raõnh treân moãi maët. Caùc ñaàu töø ñöôïc ñaët treân 1 giaù (caùnh tay - arm ) dòch chuyeån vaøo ra theo ñöôøng baùn kính. Ñaàu töø coù beà roäng ñuû ñeå ñoïc hoaëc ghi thoâng tin leân raõnh moät caùch chính xaùc. OÅ ñóa thöôøng goàm nhieàu ñóa xeáp theo chieàu ñöùng caùch xa nhau khoaûng 1 inch. Vò trí xuyeân taâm cuûa caùc ñaàu töø (khoaûng caùch töø truïc) goïi laø töø truï (cylinder). OÅ ñóa coù n ñóa seõ coù 2n ñaàu töø vaø coù 2n raõnh treân 1 töø truï. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  30. Caán Truùc Maùy Tính -30- (a) OÅ ñóa coù 1 ñóa (b) OÅ ñóa coù 4 ñóa Hình 2.12 Caùc raõnh ñöôïc chia thaønh nhieàu cung (sector), thöôøng coù khoaûng töø 10 ñeán 100 cung treân 1 raõnh. Moät cung chöùa moät soá byte naøo ñoù, thöôøng laø 512 bytes. Ñeå chæ roõ moät thao taùc truy xuaát ñóa, chöông trình phaûi cung caáp nhöõng thoâng tin sau: töø truï (cylinder), ñaàu töø (head) (caû 2 thoâng tin treân ñònh roõ 1 raõnh naøo ñoù), cung (sector) naøo ôû ñoù thoâng tin baét ñaàu, soá löôïng töø ñöôïc truyeàn ñi, ñòa chæ boä nhôù chính nôi thoâng tin ñeán hoaëc ñi vaø thoâng tin ñöôïc ñoïc töø ñóa vaøo boä nhôù hay ñöôïc ghi töø boä nhôù leân ñóa. Caùc thao taùc truy xuaát ñóa luoân baét ñaàu ôû ñaàu cuûa moät cung, khoâng bao giôø ôû giöõa cung. Neáu phaûi truy xuaát nhieàu cung vöôït qua raõnh khaùc trong cuøng moät töø truï (nghóa laø töø maët 0 sang maët 1 ôû cuøng vò trí cuûa giaù noái ñaàu töø), ta seõ khoâng maát thôøi gian bôûi vì vieäc chuyeån töø ñaàu töø naøy sang ñaàu töø khaùc ñöôïc thöïc hieän baèng maïch ñieän töû maø khoâng lieân quan ñeán phaàn cô khí. Tuy nhieân, neáu truy xuaát qua ranh giôùi cuûa töø truï, phaûi maát thôøi gian quay trong khi ñònh vò laïi caùc ñaàu töø cho töø truï keá tieáp vaø ñôïi cho cung 0 quay trôû laïi. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  31. Caán Truùc Maùy Tính -31- Hình 2.13 : Khoaûng caùch ñaàu töø vôùi maët ñóa Neáu ñaàu töø ñöôïc ñònh vò treân moät töø truï sai, tröôùc tieân ñaàu töø phaûi di chuyeån. Söï di chuyeån naøy goïi laø tìm kieám (seek). Moãi laàn tìm kieám seõ maát 3 msec giöõa caùc raõnh keá caän nhau, vaø maát töø 20 ñeán 100msec ñeå ñi töø töø truï trong cuøng ra ñeán töø truï ngoaøi cuøng. Khi ñaàu töø ñaõ ôû ñuùng vò trí, boä ñieàu khieån phaûi ñôïi cho tôùi khi cung ñaàu tieân quay tôùi ñuùng taïi ñaàu töø ñoïc vieát thì môùi baét ñaàu truy xuaát. Thôøi gian ñôïi (bò boû phí) ñeå quay tôùi cung ñuùng thay ñoåi töø 0 (neáu chöông trình gaëp may) ñeán heát toaøn boä thôøi gian quay. Thôøi gian ñôïi naøy goïi laø thôøi gian treã luaân phieân (rotational latency). Ña soá caùc ñóa thôøi kyø ñaàu ñeàu quay vôùi vaän toác 3600 voøng /phuù neân thôøi gian treã cöïc ñaïi laø 16,67 msec. (Hieän nay vaän toác quay ñaõ leân ñeán 5400-7200 rpm). Thôøi gian truy xuaát toång coäng chính laø thôøi gian tìm kieám coäng vôùi thôøi gian treã luaân phieân vaø thôøi gian truy xuaát thöïc. Gaàn nhö taát caû caùc maùy tính ñeàu söû duïng oå ñóa coù nhieàu ñóa nhö moâ taû ôû treân ñeå löu tröõ caùc döõ lieäu quan troïng. Nhöõng ñóa naøy thöôøng goïi laø ñóa cöùng (hard disk). Loaïi thöôøng duøng nhaát laø ñóa winchester (thaäp nieân 60). OÅ ñóa ñöôïc bòt kín (traùnh oâ nhieãm do buïi). Caùc ñaàu töø treân ñóa winchester ñöôïc ñònh daïng theo phöông phaùp khí ñoäng löïc hoïc vaø lô löûng treân moät ñeäm khí taïo ra do söï quay troøn cuûa ñóa. Dung löôïng cuûa ñóa ban ñaàu thöôøng khoaûng haøng chuïc MB, coøn hieän nay laø haøng chuïc, haøng traêm GB (teân caùc mainframe) Döõ lieäu nhò phaân döôùi daïng caùc chuoãi bit 0, 1 (daïng thoâ) khoâng ñöôïc ghi tröïc tieáp leân ñóa. Thay vaøo ñoù ngöôøi ta maõ hoaù chuùng, nghóa laø chuyeån ñoåi döõ lieäu nhò phaân thoâ thaønh chuoãi xung vaø ghi leân ñóa. Vieäc chuyeån ñoåi naøy nhaèm phuø hôïp vôùi vieäc ñaûo chieàu cöïc tính caùc vuøng töø tính treân ñóa khi coù söï thay ñoåi chieàu doøng ñieän treân ñaàu ghi. Khi ñoïc döõ lieäu treân ñóa, quaù trình giaûi maõ chuoãi xung seõ dieãn ra ñeå ta coù laïi döõ lieäu nhò phaân thoâ ban ñaàu. Thieát bò laøm coâng vieäc maõ hoaù vaø giaûi maõ ñöôïc goïi laø boä maõ hoaù/giaûi maõ ENDEC (Encoder - Decoder). Coù nhieàu phöông phaùp maõ hoaù khaùc nhau nhö ñieàu cheá taàn soá FM (Frequency Modulation), ñieàu cheá taàn soá thay ñoåi MFM (Modified Frequency Modulation) v.v Nguyeãn Höõu Loäc Khoa Vaät Lyù
  32. Caán Truùc Maùy Tính -32- 3. Ñóa meàm Vôùi söï xuaát hieän cuûa maùy vi tính, ngöôøi ta coù moät phöông phaùp ñeå caøi ñaët phaàn meàm. Ñoù laø söû duïng ñóa meàm (diskette hay Floppy disk), laø phöông tieän nhoû goïn coù theå ñem ñi xa ñöôïc. Hình 2.14: Hoaït ñoäng ñóa meàm Khoâng nhö caùc ñóa Winchester, caùc ñaàu töø cuûa ñóa cöùng lô löûng treân beà maët ñóa ôû khoaûng caùch vaøi micron, ñaàu töø cuûa caùc ñóa meàm thöïc söï tieáp xuùc vôùi beà maët ñóa. Do vaäy, moâi tröôøng tieáp xuùc cuûa beà maët ñóa vaø ñaàu töø seõ bò hao moøn töông ñoái nhanh. Ñeå laøm giaûm söï hao moøn naøy, trong caùc maùy vi tính, ngöôøi ta ruùt ñaàu töø leân treân vaø ngöøng quay ñóa khi oå ñóa khoâng ñoïc hoaëc khoâng ghi thoâng tin. Do ñoù, khi coù leänh ñoïc hoaëc ghi thoâng tin keá tieáp, seõ coù thôøi gian treã khoaûng nöûa giaây ñeå moâtô taêng toác ñoä. Ngaøy nay kích thöôùc ñóa thöôøng laø 3.5 inch, coøn loaïi 5.25 inch gaàn nhö khoâng coøn söû duïng nöõa do ñóa 3.5 inch chöùa nhieàu döõ lieäu hôn vaø nhôø chöùa trong voû cöùng do vaäy ñöôïc baûo veä toát hôn. Vôùi loaïi kích thöôùc 3.5 inch, dung löôïng thöôøng laø 1.44MB, coù 80 raõnh, 15 cung treân 1 raõnh, 2 maët söû duïng ñöôïc, soá voøng quay/ phuùt laø 300 vaø toác ñoä döõ lieäu laø 500 kbps. Haõng Toshiba cuõng ñaõ saûn xuaát caùc ñóa meàm dung löôïng 2.88 MB, kích thöôùc 3.5 inch naêm 1987 vaø söû duïng trong caùc heä thoáng PS/2. Caùc phieân baûn DOS 5.0 trôû leân ñaõ hoå trôï cho loaïi ñóa meàm naøy. Caùc oå ñóa meàm ñeàu söû duïng phöông phaùp maõ hoaù MFM khi ñoïc vaø ghi döõ lieäu treân ñóa meàm. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  33. Caán Truùc Maùy Tính -33- 4. Ñóa quang Trong nhöõng naêm gaàn ñaây, caùc ñóa quang (optical disk) (khaùc vôùi ñóa töø) ñaõ ñöôïc ñöa vaøo söû duïng. Caùc ñóa quang coù maät ñoä ghi thoâng tin cao hôn nhieàu so vôùi caùc ñóa töø thoâng thöôøng. Ban ñaàu ñóa quang ñöôïc trieån khai ñeå ghi caùc chöông trình truyeàn hình nhöng roài chuùng cuõng ñöôïc duøng laøm caùc thieát bò löu tröõ cuûa maùy tính. Caùc ñóa quang ñaàu tieân ñöôïc saùng cheá bôûi 1 taäp ñoaøn ñieän töû cuûa Haø Lan laø Philips vaø ñöôïc phaùt trieån theâm vôùi söï hôïp taùc cuûa Sony cuûa Nhaät. Caùc ñóa quang naøy döïa vaøo coâng ngheä ñaõ duøng trong maùy quay ñóa aâm taàn Compact Disc vaø ñöôïc goïi laø CD ROM (Compact Disc Read Only Memory) Ñóa CD ROM ñöôïc cheá taïo baèng caùch duøng moät tia laser coù coâng suaát cao ñeå ñoát chaùy caùc loã coù kích thöôùc 1 micron (10-6 m) treân moät ñóa chuû (master disk). Töø ñóa chuû naøy, ngöôøi ta taïo ñöôïc moät khuoâng duøng laøm maãu ñeå taïo nhöõng baûn sao treân caùc ñóa plastic. Keá ñeán phuû leân beà maët moät lôùp nhoâm moûng vaø tieáp theo laø moät lôùp plastic baûo veä trong suoát. Thieát bò duøng ñeå ñoïc ñóa CD ROM coù moät boä phaân tích ño naêng löôïng phaûn xaï töø beà maët khi coù moät tia laser coâng suaát thaáp phaùt tôùi beà maët. Caùc loã ñöôïc goïi laø pit vaø nhöõng vuøng khoâng bò ñoát chaùy giöõa caùc pit goïi laø land seõ coù söï phaûn xaï khaùc nhau giuùp ta phaân bieät ñöôïc giöõa pit vaø land. Kyõ thuaät naøy coù nhieàu heä quaû quan troïng. Thöù nhaát, do caùc ñóa CD ROM ñöôïc daäp khuoâng, khoâng ghi thoâng tin nhö caùc ñóa meàm thoâng thöôøng vaø ñöôïc cheá taïo haøng loaït baèng maùy töï ñoäng theo moät khuoân maãu saün neân giaù thaønh raát thaáp. Thöù hai, do ñóa plastic coù bao phuû moät lôùp nhoâm ñöôïc daäp theo khuoân neân seõ khoâng thaät chính xaùc, thoâng tin soá treân ñóa thöôøng chöùa nhieàu loãi. Vaán ñeà loãi ñöôïc xöû lyù baèng 2 caùch. Tröôùc tieân, ñaàu ñoïc trong oå ñóa coù moät göông chính xaùc ñöôïc ñieàu khieån bôûi moät cô caáu trôï ñoäng (moät maùy ñeå ñieàu khieån moät coã maùy to hôn) duøng ñeå theo doõi beà maët ñóa nhaèm buø laïi söï khoâng hoaøn haûo khi cheá taïo. Thöù hai, döõ lieäu ñöôïc ghi leân ñóa duøng moät phöông phaùp maõ hoaù phöùc taïp goïi laø maõ söûa loãi xen keõ (cross interleave) Reed-Solomon. Phöông phaùp maõ hoaù naøy duøng nhieàu bit hôn maõ Hamming ñeå coù theå söûa nhieàu loãi. Hôn nöõa thay vì bieåu thò pit laø 0 vaø land laø 1 (hoaëc ngöôïc laïi), ngöôøi ta bieåu thò cho moãi laàn chuyeån tieáp pit-land hoaëc land-pit laø 1. Khoaûng caùch giöõa 2 laàn chuyeån tieáp cho bieát coù bao nhieâu bit zero giöõa caùc bit. Döõ lieäu ñöôïc ghi thaønh caùc nhoùm 24 byte, moãi nhoùm ñöôïc môû roäng theâm töø 8 ñeán 14 bit baèng caùch duøng maõ Reed-Solomon. Theâm 3 bit ñaëc bieät vaøo giöõa moãi nhoùm vaø theâm moät byte ñoàng boä ñeå taïo thaønh moät khung (frame). Moät nhoùm 98 khung taïo thaønh moät khoái (block) chöùa 2 KByte döõ lieäu. Khoái laø ñôn vò cô baûn ñöôïc ñòa chæ hoaù. Maëc duø phöông phaùp naøy phöùc taïp vaø toán moät Nguyeãn Höõu Loäc Khoa Vaät Lyù
  34. Caán Truùc Maùy Tính -34- vuøng ñiaõ ñaùng keå nhöng laïi cho ta ñoä tin caäy raát cao vôùi vaät lieäu söû duïng coù giaù thaønh thaáp. Thoâng tin treân CD ROM ñöôïc ghi theo daïng xoaén oác lieân tuïc, khoâng gioáng nhö ñiaõ töø theo caùc töø truï vaø raõnh rieâng bieät. Khuoâng daïng naøy ñöôïc minh hoïa trong hình 2.15 Toác ñoä ñoïc cô baûn cuûa moät ñiaõ quang laø 150 KByte/sec. Caùc oå ñiaõ ñoïc nhanh coù toác ñoä laø boäi soá cuûa toác ñoä cô sôû naøy (Thí duï 24X, 32X, 36X, 48X, 52X, ) Döõ lieäu ñöôïc löu tröõ treân CD ROM theo phöông phaùp maõ hoaù EFM (Eight to Fourteen Modulation). Töông töï nhö treân ñiaõ töø, giaù trò 0 vaø 1 khoâng phaûi laø giaù trò loã vaø vuøng troáng maø laø giaù trò chuyeån ñoåi. Hình 2.15 CD ghi laïi ñöôïc CD-R (CD-Recordable) laø loaïi ñiaõ quang töøng ñöôïc goïi laø WORM (Write Once, Read Multiple). Ñiaõ naøy coù caáu truùc töông töï nhö CD thöôøng. Lôùp chöùa döõ lieäu laø lôùp polymer höõu cô (cyanine vaø phthalocyanine). Khi tia laser ñoát chaùy, lôùp maøy naøy chuyeån sang maøu ñen vaø ñoùng vai troø caùc loã döõ lieäu (pit). Coù 2 phöông phaùp ghi CD-R: - Ghi toaøn ñiaõ moät laàn DAO (Disc At Once): döõ lieäu toaøn ñiaõ chæ ñöôïc ghi leân ñiaõ moät laàn, khoâng ghi theâm leân ñöôïc nhöõng laàn sau. - Ghi töøng raõnh TAO (Track At Once): cho pheùp ghi leân ñiaõ nhieàu laàn. Chieàu daøi toái thieåu moãi laàn ghi laø 300 khoái. CD ghi laïi ñöôïc CD-RW (CD-ReWriteable) trong ñoù lôùp döõ lieäu lôùp kim loaïi . Nguyeân taéc ghi döõ lieäu döïa theo söï thay ñoåi traïng thaùi cuûa lôùp kim loaïi: traïng thaùi tinh theå (phaûn xaï aùnh saùng - vuøng troáng) vaø traïng thaùi voâ ñònh hình (khoâng phaûn xaï aùnh saùng - vuøng loã) Ñiaõ quang maät ñoä cao DVD (Digital Video Disk hay Digital Versatile Disk) laø theá heä ñiaõ quang môùi seõ thay theá ñiaõ CD trong töông lai gaàn. Ñaây laø moät loaïi ñiaõ quang coù dung löôïng döõ lieäu lôùn hôn vaø khaû naêng truy nhaäp nhanh hôn caùc ñiaõ quang Nguyeãn Höõu Loäc Khoa Vaät Lyù
  35. Caán Truùc Maùy Tính -35- tröôùc noù. Dung löôïng döõ lieäu tính haøng GByte (~4,7GB) . Toác ñoä truy nhaäp cô baûn 1x cuûa 1 oå DVD laø 1,321 MByte/sec (nhanh gaáp 9 laàn toác ñoä cuûa moät oå ñiaõ CD thöôøng. Caùc oå DVD 4X ñeàu coù khaû naêng ñoïc CD-ROM vôùi vaän toác 32X. Söï phaùt trieån ñiaõ quang ôû giai ñoaïn 3 laø caùc phöông tieän quang coù theå xoaù ñöôïc baèng caùch duøng kyõ thuaät quang-töø (MO->magneto-optical). Ñiaõ plastic ñöôïc bao phuû moät hoãn hôïp kim loaïi coù nhieàu chaát laï nhö terbium vaø gadolinium. Caùc kim loaïi naøy coù tính chaát raát ñaùng quan taâm laø ôû nhieät ñoä thaáp chuùng khoâng nhaïy caûm vôùi töø tröôøng, nhöng ôû nhieät ñoä cao, caáu truùc phaân töû cuûa chuùng töï saép thaúng haøng theo baát cöù höôùng naøo hieän coù. Ngöôøi ta söû duïng tính chaát naøy ñeå ghi thoâng tin, caùc ñaàu ñoïc cuûa oå ñiaõ bao goàm moät boä phaùt tia laser vaø moät nam chaâm. Boä phaùt tia laser baén ra moät xung aùnh saùng cöïc ngaén vaøo kim loaïi, töùc thôøi laøm gia taêng nhieät ñoä nhöng khoâng taïo thaønh moät pit treân beà maët. Ñoàng thôøi nam chaâm cuõng phaùt ra moät töø tröôøng theo 1 trong 2 höôùng. Khi xung laser heát, kim loaïi ñaõ ñöôïc töø hoaùcoù theå ôû 1 trong 2 höôùng, bieåu thò laø 0 hoaëc 1. Thoâng tin naøy coù theå ñoïc theo cuøng caùch nhö vôùi CD ROM baèng caùch duøng moät tia laser coù böùc xaï yeáu hôn nhieàu. Ñiaõ naøy coù theå xoaù vaø ghi ñeø leân gioáng nhö caùch ñaõ ghi laàn ñaàu. IV - CAÙC THIEÁT BÒ VAØO / RA Tröôùc khi moät maùy tính thöïc hieän moät vieäc naøo ñoù, ta phaûi cung caáp cho noù moät chöông trình vaø caùc döõ lieäu keøm theo. Sau khi thöïc hieän xong, maùy tính phaûi thoâng baùo keát quaû cho ngöôøi söû duïng. Vieäc ñöa thoâng tin vaøo maùy tính vaø laáy thoâng tin ra khoûi maùy tính ñöôïc goïi laø vaøo/ra . Khoâng phaûi taát caû thoâng tin vaøo ra ñeàu ñöôïc döï ñònh daønh cho con ngöôøi. Moät kính thieân vaên maët trôøi hoaït ñoäng nhôø maùy tính coù theå thöïc hieän nhaäp döõ lieäu töø caùc thieát bò quan saùt maët trôøi. Moät maùy tính ñieàu khieån 1 thieát bò hoaù hoïc töï ñoäng coù theå tröïc tieáp xuaát döõ lieäu tôùi caùc maùy thoâng qua thieát bò ñeå ñieàu hoaø caùc chaát hoaù hoïc ñöôïc sinh ra. Coù 2 caùch toå chöùc vaøo/ra thöôøng söû duïng trong maùy tính ngaøy nay. Caùc mainframe lôùn söû duïng thieát keá ñöôïc trình baøy trong hình 2.16 . Trong thieát keá naøy, moät heä thoáng maùy tính bao goàm 1 CPU (Hoaëc coù theå nhieàu CPU), 1 boä nhôù vaø moät hoaëc nhieàu boä xöû lyù vaøo/ra (I/O processor) goïi laø caùc keânh döõ lieäu (data channel). Taát caû caùc thieát bò vaøo/ra ñeàu ñöôïc noái vôùi caùc keânh. Khi muoán thöïc hieän vaøo/ra , CPU naïp 1 chöông trình ñaëc bieät vaøo moät trong caùc keânh vaø yeâu caàu keânh ñoù thöïc hieän. Keânh seõ töï ñieàu khieån taát caû caùc vieäc vaøo/ra tôùi Nguyeãn Höõu Loäc Khoa Vaät Lyù
  36. Caán Truùc Maùy Tính -36- vaø töø boä nhôù ñeå CPU töï do laøm nhöõng vieäc khaùc. Khi thöïc hieän xong, keânh göûi tôùi CPU moät tín hieäu ñaëc bieät goïi laø ngaét (interrupt) ñeå buoäc CPU ngöøng baát kyø ñieàu gì ñang laøm vaø chuù yù ñeán keânh ñoù. Thuaän lôïi cuûa caùch toå chöùc naøy laø cho pheùp CPU hoaøn toaøn khoâng quan taâm ñeán coâng vieäc giöõa thieát bò vaøo/ra vôùi keânh. Baèng caùch naøy ta coù theå thöïc hieän vieäc tính toaùn vaø vaøo / ra cuøng moät luùc Hình 2.16 Vì caùc mainframe taïo ra moät taûi vaøo/ra lôùn, neân chuùng thöôøng ñöôïc trang bò ít nhaát 3 bus. Bus boä nhôù (memory bus) cho pheùp keânh ñoïc vaø ghi caùc töø döõ lieäu (data word) töø boä nhôù. Bus vaøo/ra cho pheùp boä xöû lyù trung taâm phaùt caùc leänh tôùi caùc keânh vaø cho pheùp caùc keânh ngaét boä xöû lyù trung taâm. Cuoái cuøng, bus thöù 3 cho pheùp boä xöû lyù trung taâm truy xuaát boä nhôù maø khoâng phaûi duøng tôùi nhöõng bus khaùc. Caùc maùy vi tính duøng moät caáu truùc heä thoáng ñôn giaûn hôn nhö trong hình 2.17 . Haàu heát caùc maùy vi tính naøy coù moät khung chöùa caùc card vôùi 1 board maïch in lôùn ñöôïc goïi laø board chính (mainboard). Board chính chöùa moät chip vi xöû lyù, boä nhôù vaø caùc chip hoã trôï khaùc. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  37. Caán Truùc Maùy Tính -37- Hình 2.17 Caáu truùc logic cuûa maùy vi tính ñöôïc trình baøy trong hình 2.18. Haáu heát caùc maùy vi tính coù 1 bus goïi laø bus heä thoáng (system bus) duøng ñeå keát noái CPU, boä nhôù vaø caùc thieát bò vaøo/ra. Moãi thieát bò vaøo ra coù hai phaàn, phaàn chöùa caùc maïch ñieän töû goïi laø boä ñieàu khieån (controller), phaàn kia chöùa chính caùc thieát bò vaøo/ra nhö oå ñóa, maøn hình Boä ñieàu khieån thöôøng ñöôïc ñaët treân 1 card vaø caém vaøo khe môû roäng treân board chính tröø caùc boä ñieàu khieån khoâng tuøy choïn (nhö baøn phím), thöôøng ñöôïc ñaët treân board chính. Hình 2.18 Nhieäm vuï cuûa boä ñieàu khieån laø ñieàu khieån thieát bò vaøo/ra vaø ñieàu khieån truy caäp bus. Vieäc ñieàu khieån ñoïc hoaëc ghi moät khoái döõ lieäu tröïc tieáp vôùi boä nhôù maø khoâng qua boä xöû lyù goïi laø truy xuaát boä nhôù tröïc tieáp (DMA: Direct Memory Access) Bus khoâng chæ ñöôïc duøng bôûi caùc boä ñieàu khieån vaøo/ra maø coøn bôûi CPU ñeå tìm naïp caùc leänh vaø döõ lieäu. Khi CPU vaø boä ñieàu khieån vaøo/ra ñoàng thôøi muoán söû duïng bus thì ngöôøi ta duøng moät chip goïi laø boä phaân xöû bus (bus arbiter) ñeå quyeát ñònh thaønh phaàn ñöôïc söû duïng bus. Nhìn chung, caùc thieát bò vaøo/ra ñöôïc cho quyeàn öu tieân cao hôn CPU do caùc thieát bò nhö oå ñóa khoâng theå döøng hoaït ñoäng hoaëc ñôïi laøm maát döõ lieäu. Khi khoâng coù thieát bò vaøo/ra naøo laøm vieäc, CPU coù theå laáy taát caû caùc chu kyø bus ñeå truy caäp boä nhôù. Tuy nhieân khi coù moät thieát bò vaøo/ra ñang chaïy ñoàng thôøi, thieát bò ñoù seõ seõ yeâu caàu vaø ñöôïc caáp bus khi caàn ñeán. Quaù trình naøy goïi laø ñaùnh caép chu kyø (cycle Nguyeãn Höõu Loäc Khoa Vaät Lyù
  38. Caán Truùc Maùy Tính -38- stealing) vaø laøm toác ñoä maùy tính chaäm laïi. So saùnh vôùi mainframe coù nhieàu bus thì hieän töôïng naøy khoâng theå xaûy ra. Ngaøy nay ngöôøi ta duøng nhieàu loaïi thieát bò vaøo/ra. Moät vaøi thieát bò vaøo/ra phoå bieán seõ ñöôïc ñeà caáp ñeán sau ñaây: 1. Baøn phím: Baøn phím coù nhieàu loaïi khaùc nhau. Ñôn giaûn nhaát laø moät chuyeån maïch (switch) ñeå taïo ra moät tieáp xuùc veà ñieän khi aán phím. Vôùi loaïi phöùc taïp hôn, döôùi moãi phím coù moät nam chaâm ñi qua 1 cuoän daây khi goõ phím, vì vaäy moät doøng ñieän caûm öùng ñöôïc nhaän bieát. Ngoaøi loaïi chuyeån maïch baèng cô khí, caùc baøn phím hieän nay coøn söû duïng loaïi chuyeån maïch baèng tuï ñieän coù öu ñieåm choáng moøn vaø buïi baùm. Chuyeån maïch coù 2 baûn baèng nhöïa noái thaønh ma traän chuyeån maïch ñöôïc thieát keá ñeå phaùt hieän nhöõng thay ñoåi veà ñieän dung cuûa maïch. Khi aán phím, baûn treân di chuyeån so vôùi baûn döôùi coá ñònh laøm ñieän dung thay ñoåi. Loaïi chuyeån maïch naøy khoâng döïa vaøo tieáp xuùc baèng kim loaïi neân traùnh ñöôïc moøn vaø buïi, cuõng nhö khoâng bò keït phím. Ngoaøi ra coøn coù loaõi phím caûm bieán ñieän töø (thay ñoåi doøng ñieän theo hieäu öùng Hall) Baøn phím trong heä thoáng IBM PC vaø töông thích ban ñaàu thöïc chaát laø moät boä xöû lyù baøn phím truyeàn thoâng vôùi maùy tính baèng moät lieân keát döõ lieäu rieâng bieät nhaèm truyeàn noái tieáp nhöõng khung 11 bit (8 bit döõ lieäu vaø caùc bit ñieàu khieån) nhöng khoâng theo chuaån RS-232C. Boä xöû lyù baøn phím laø chip vi ñieàu khieån 8048 hoaëc 8049 hoaëc caùc chip töông thích nhö 6805 cuûa Motorola. Boä xöû lyù ñoïc ma traän phím, giaûi maõ caùc tín hieäu aán phím, chuyeån ñoåi maõ vi trí cuûa phím thaønh maõ queùt (scan code) roài truyeàn ñeán board chính cuûa maùy tính. 2. Maøn hình: Maøn hình chuû yeáu goàm moät ñeøn tia aâm cöïc CRT (Cathode Ray Tube) vaø caùc nguoàn cung caáp ñieän. CRT chöùa moät suùng baén moät chuøm tia ñieän töû ñaäp vaøo maøn huyønh quang ñaët ôû phía tröôùc ñeøn, nhö trong hình 2.20 (caùc maøn hình maøu coù 3 suùng ñieän töû töông öùng vôùi 3 maøu ñoû, xanh laù caây vaø xanh döông). Trong thôøi gian queùt ngang, chuøm tia ñieän töû queùt qua Nguyeãn Höõu Loäc Khoa Vaät Lyù
  39. Caán Truùc Maùy Tính -39- Hình 2. 20 maøn hình trong moät thôøi gian khoaûng 50 microsec vaø vaïch ra moät ñöôøng gaàn nhö naèm ngang treân maøn hình. Keá ñeán chuøm tia ñieän töû thöïc hieän moät ñöôøng hoài ngang trôû veà caïnh beân traùi ñeå baét ñaàu laàn queùt keá tieáp. Tia queùt ngang ñöôïc ñieàu khieån bôûi moät ñieän aùp taêng tuyeán tính ñöa ñeán caùc phieán laøm leäch ngang ñaët ôû beân traùi vaø beân phaûi suùng ñieän töû. Vieäc queùt doïc ñöôïc ñieàu khieån bôûi moät ñieän aùp tuyeán tính taêng chaäm hôn nhieàu ñöa ñeán caùc phieán laøm leäch doïc ñaët ôû phía treân vaø döôùi suùng ñieän töû. Sau 400 ñeán 1000 laàn queùt, ñieän aùp treân caùc phieán laøm leäch doïc vaø ngang ñöôïc nghòch ñaûo cuøng luùc ñeå ñaët chuøm tia ñieän töû trôû veà goùc phía treân beân traùi cuûa maøn hình huyønh quang. Toaøn boä aûnh thöôøng ñöôïc queùt laäp laïi töø 30 tôùi 60 laàn trong 1 giaây. Ñeøn CRT hieän nay coù 2 kieåu: cong vaø phaúng. Kieåu maøn hình cong coù maët ngoaøi ôû chính giöõa maøn hình phình ra. Kieåu phaúng laø loaïi ñeøn Trinitron chæ cong theo chieàu ngang vaø coù chieàu doïc phaúng. Caùc maùy tính xaùch tay söû duïng boä phaän hieån thò laø maøn hình tinh theå loûng (Liquid Crystal Display). Ñoù laø chaát loûng höõu cô maø phaân töû cuûa noù coù khaû naêng phaân cöïc aùnh saùng daãn ñeán thay ñoåi cöôøng ñoä saùng. Tröôøng tónh ñieän ñöôïc duøng ñeå ñieàu khieån höôùng phaân töû tinh theå loûng. Maøn hình tinh theå loûng döïa treân hieäu öùng tröôøng xoaén (twisted nematic field effect). Phaân töû trong lôùp tinh theå loûng chuyeån höôùng 90 ñoä giöõa hai maët kính. Aùnh saùng beân ngoaøi bò phaân cöïc vaø xoaén theo höôùng phaân töû tinh theå loûng khieán tia saùng ñi qua ñöôïc lôùp tinh theå loûng, lôùp tinh theå loûng coù traïng thaùi saùng Duøng ñieän cöïc trong suoát (thí duï indium oxyt)naèm phía döôùi lôùp kính keùo phaân töû tinh theå loûngñònh höôùng theo tröôøng tónh ñieän. Tia saùng bò giöõ laïi trong tinh theå loûng maø khoâng ñi qua hay phaûn xaï laïi ñöôïc nöõa, lôùp tinh theå loûng coù traïng thaùi toái. Ñeå ñònh höôùng aùnh saùng ñuùng theo höôùng phaân töû tinh theå loûng, ta caàn boä phaân cöïc aùnh saùng. Khi tia saùng thoaùt ra phía beân kia tinh theå loûng ta caàn boä phaân cöïc aùnh saùng khaùc. Nguoàn saùng coù theå laø LED hay caùc loaïi ñeøn khaùc. Neáu boá trí phía sau lôùp tinh theå loûng moät lôùp göông phaûn xaï, ta coù theå duøng aùnh saùng thöôøng beân ngoaøi ñeå quan saùt maøn hình. Tröôøng tónh ñieän moät chieàu coù theå phaù hoûng caáu truùc tinh theå, vì vaäy ngöôøi ta hay duøng hieäu ñieän theá xoay chieàu. Hieäu ñieän theá duøng cho tinh theå loûng töông ñoái thaáp, töø 5 ñeán 15V. Maøn hình tinh theå loûng theo nguyeân taéc keå treân coù ñoä töông phaûn raát thaáp (goùc nhìn 15o) Goùc quan saùt cuõng raát haïn cheá (20o töø ngang, 60o töø treân) Nguyeãn Höõu Loäc Khoa Vaät Lyù
  40. Caán Truùc Maùy Tính -40- Coù 3 loaïi thieát bò ñaàu cuoái thöôøng duøng: caùc thieát bò ñaàu cuoái aùnh xaï kyù töï (character-map terminal), caùc thieát bò ñaàu cuoái aùnh xaï bit (bit-map terminal) hay maøn hình ñoà hoïa vaø caùc thieát bò ñaàu cuoái chuaån RS-232C (reference standard 232-C terminal). • Caùc thieát bò ñaàu cuoái aùnh xaï kyù töï Haàu heát caùc maùy vi tính ñeàu söû duïng sô ñoà trình baøy trong hình 2.21 ñeå hieån thò döõ lieäu xuaát leân maøn hình. Treân card truyeàn noái tieáp (serial communication board) laø moät ñoaïn boä nhôù goïi laø RAM video (video RAM), cuõng nhö moät soá maïch ñieän töû duøng ñeå truy xuaát bus vaø taïo tín hieäu video (video signal). Hình 2.21 Ñeå hieån thò caùc kyù töï, CPU sao cheùp chuùng vaøo boä nhôù RAM video döôùi daïng caùc byte xen keõ. Moãi kyù töï ñöôïc keát hôïp vôùi 1 byte thuoäc tính ñeå moâ taû caùch theå hieän kyù töï. Thuoäc tính coù theå bao goàm: maøu saéc, cöôøng ñoä, coù nhaáp nhaùy hay khoâng? v.v . Do vaäy, moät maøn hình coù 25x80 kyù töï ñoøi hoûi 4000 byte trong RAM video trong ñoù 2000 byte cho caùc kyù töï vaø 2000 byte cho thuoäc tính cuûa chuùng. Moät soá card coù dung löôïng boä nhôù lôùn hôn ñeå löu giöõ nhieàu aûnh maøn hình. Coâng vieäc cuûa card video (video card) laø laëp laïi vieäc tìm naïp caùc kyù töï töø RAM video vaø taïo ra caùc tín hieäu caàn thieát ñieàu khieån maøn hình. Toaøn boä moät doøng caùc kyù töï ñöôïc tìm-naïp moät laàn ñeå coù theå tính ñöôïc caùc doøng queùt rieâng leû. Tín hieäu naøy laø tín hieäu töông töï taàn soá cao, ñieàu khieån vieäc queùt chuøm tia ñieän töû ñeå veõ caùc kyù töï leân maøn hình. Vì card video xuaát tín hieäu video neân maøn hình phaûi ñaët gaàn maùy tính (khoaûng vaøi met). • Caùc thieát bò ñaàu cuoái aùnh xaï bit Thay ñoåi ôû ñaây laø maøn hình khoâng ñöôïc xem nhö daõy 25x80 kyù töï maø laø moät daõy caùc phaàn töû hình aûnh, goïi laø pixel. Moãi pixel coù theå hoaëc saùng hoaëc toái ñeå bieåu thò moät bit thoâng tin. Treân caùc maùy vi tính, maøn hình coù theå chöùa thöôøng 480x640 pixel. Treân caùc traïm laøm vieäc (workstation), maøn hình tieâu bieåu coù 1024x1024 pixel. Caùc thieát bò ñaàu cuoái thöôøng duøng aùnh xaï bit hôn aùnh xaï kyù töï ñöôïc goïi laø maøn hình ñoà hoïa. Nhieàu card video coù theå hoaït ñoäng ôû caû 2 cheá ñoä aùnh xaï bit vaø aùnh xaï kyù töï döôùi söï ñieàu khieån cuûa phaàn meàm vaø ta goïi laø card video ñoà hoaï. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  41. Caán Truùc Maùy Tính -41- YÙ töôûng nhö vaäy cuõng duøng sô ñoà nhö ôû hình 2.21, ngoaïi tröø RAM video coù dung löôïng töông ñoái lôùn. Phaàn meàm coù theå thieát laäp moät maãu baát kyø vaø maãu ñoù seõ ñöôïc cho hieän leân maøn hình ngay. Ñeå veõ caùc kyù töï, phaàn meàm phaûi quyeát ñònh caáp phaùt, thí duï: moät ma traän coù kích thöôùc 9x14 bit vaø laøm ñaày nhöõng bit caàn thieát ñeå laøm cho kyù töï xuaát hieän. Phöông phaùp naøy cho pheùp chöông trình taïo ra nhieàu kieåu chöõ (font) vaø troän laãn chuùng neáu muoán. Toaøn boä phaàn cöùng chòu traùch nhieäm hieån thò daõy bit. Maëc daàu caùc thieát bò ñaàu cuoái aùnh xaï bit coù tính meàm deõo cao, nhöng chuùng coù 2 baát lôïi laø ñoøi hoûi dung löôïng video RAM lôùn vaø hieäu suaát thaáp. Do doù caàn coù caùc CPU toác ñoä cao ñeå thao taùc treân caùc bit hoaëc phaûi ñöôïc trang bò caùc phaàn cöùng ñaëc bieät quaûn lyù caùc pixel nhanh choùng, töø ñaây cho pheùp cheá taïo caùc bit ñoà hoïa (Graphics chipset) Haàu heát caùc maøn hình hieän nay laø maøn hình ña taàn soá (multi frequency) nhaèm thích hôïp vôùi nhieàu tieâu chuaån khaùc nhau cuûa tín hieäu video, chuùng coù caùc ñoä phaân giaûi (soá pixel theo chieàu ngang vaø chieàu doïc) khaùc nhau tuøy theo loaïi maøn hình: • Loaïi maøn hình kieåu maûng ñoà hoïa video VGA (Video Graphic Array) coù ñoä phaân giaûi 640x480. • Loaïi maøn hình sieâu VGA (SVGA= Super VGA) coù ñoä phaân giaûi 800x600 • Loaïi maøn hình kieåu maûng ñoà hoïa môû roäng XGA (Extended Graphics Array) coù ñoä phaân giaûi 1024x768 • Loaïi maøn hình kieåu UVGA (Ultra VGA) coù ñoä phaân giaûi 1280x1024. Ñoái vôùi caùc maøn hình maøu, ngöôøi ta coøn ñònh nghóa kích thöôùc cuûa moät ñieåm aûnh (ñuùng ra laø khoaûng caùch giöõa boä ba ñieåm maøu cuûa moät ñieåm aûnh tính baèng mm). Kích thöôùc naøy caøng nhoû aûnh hieån thò caøng neùt, hieän nay khoaûng 0,25mm hay ít hôn. Moät vaán ñeà lieân quan ñeán RAM video cuûa caùc card video ñoà hoïa laø ñoä roäng cuûa bus döõ lieäu giöõa chip ñoà hoïa vaø RAM video. Chip ñoà hoïa thöôøng laø chip ñôn noái tröïc tieáp vôùi RAM video qua moät bus cuïc boä (local bus). Soá bit cho bus döõ lieäu cuïc boä coù theå laø 64 bit hoaëc thaäm chí 128 bit (khoâng phaûi laø bus döõ lieäu 32 bit cuûa khe bus môû roäng treân board chính maø card video caém treân ñoù. Ñeå caûi tieán toác ñoä cuûa moät card video, ta caàn xem xeùt 3 khía caïnh: ⋅ Boä xöû lyù ñoà hoïa (chip ñoà hoïa) ⋅ RAM video ⋅ Bus cuïc boä 3. Modem: Vôùi löôïng maùy tính söû duïng ngaøy caøng taêng, nhu caàu truyeàn thoâng tin giöõa maùy tính naøy. Taát caû nhöõng öùng duïng ñeàu duøng heä thoáng ñieän thoaïi ñeå cung caáp ñöôøng thoâng tin. Tuy nhieân, ñöôøng daây ñieän thoaïi töï nhieân , khoâng thích hôïp ñeå truyeàn tín hieäu maùy tính, trong ñoù tín hieäu ñöôïc bieåu thò 1 vôùi ñieän aùp khoaûng 5 volt vaø 0 vôùi ñieän aùp 0 volt, nhö trong hình 2.20a. Tín hieäu hai möùc ñieän aùp seõ bò saùi daïng khi truyeàn qua daây ñieän thoaïi daãn ñeán caùc loãi truyeàn. Moät tín hieäu soùng sin ôû taàn soá khoaûng töø 1000 Nguyeãn Höõu Loäc Khoa Vaät Lyù
  42. Caán Truùc Maùy Tính -42- ñeán 2000 Hz goïi laø soùng mang (carrier), khi truyeàn ñi seõ ít bò saùi daïng hôn. Ñieàu naøy ñöôïc khai thaùc laøm cô sôû cho haàu heát caùc heä thoáng thoâng tin. Do söï thay ñoåi cuûa soùng sin hoaøn toaøn coù theå ñoaùn tröôùc, neân moät soùng sin thuaàn tuùy khi truyeàn ñi seõ khoâng mang theo moät thoâng tin naøo caû. Baèng caùch thay ñoåi bieân ñoä, taàn soá hoaëc pha, chuoãi caùc bit 0 vaø 1 ñöôïc truyeàn ñi nhö trong hình 2.22. Quaù trình naøy goïi laø söï ñieàu cheá (modulation). Hình 2.22 Trong ñieàu cheá bieán ñoä (amplitude modulation) [xem hình 2.22(b)], 2 möùc ñieän aùp khaùc nhau töông öùng vôùi 0 vaø 1 ñöôïc söû duïng. Döõ lieäu soá phaùt ôû toác ñoä raát thaáp seõ nghe moät tieáng oàn lôùn ñoái vôùi bit 1 vaø khoâng coù oàn ñoái vôùi bit 0. Trong ñieàu cheá taàn soá [xem hình 2.22 (c)], möùc ñieän aùp laø haèng soá nhöng taàn soá soùng mang seõ khaùc nhau ñoái vôùi 1 vaø 0, döõ lieäu soá ñöôïc ñieàu cheá taàn soá seõ nghe 2 aâm (tone) töông öùng vôùi 0 vaø 1. Caùch ñieàu cheá taàn soá nhö vaäy coøn ñöôïc goïi laø laäp khoaù dòch taàn soá FSK ( Frequency Shift Keying ). Trong ñieàu cheá pha (phase modulation) ñôn giaûn [xem hình 2.22(d)], bieân ñoä vaø taàn soá khoâng thay ñoåi, nhöng pha cuûa soùng mang thay ñoåi 180° khi döõ lieäu chuyeån töø 0 sang 1 hoaëc töø 1 sang 0. Trong caùc heä thoáng ñieàu pha phöùc taïp hôn, luùc baét ñaàu cuûa moãi khoaûng thôøi gian (time interval), pha soùng mang bò dòch ñi 45, 135, 225, hoaëc 315 ñoä cho pheùp vôùi moãi khoaûng thôøi gian töông öùng ta seõ coù 2 bit, goïi laø maõ hoaù pha 2 bit (dibit). Vôùi nhöõng sô ñoà khaùc ngöôøi ta cuõng coù theå truyeàn 3 hoaëc nhieàu bit ôû moãi khoaûng thôøi gian. Toác ñoä bieán ñieäu ñöôïc tính theo baud töông öùng vôùi soá bieán ñieäu trong moät giaây (coøn goïi laø soá khoaûng thôøi gian cô baûn cuûa bieán ñieäu). Khi chuyeån 2 hoaëc nhieàu bit trong moät khoaûng thôøi gian , toác ñoä bit seõ lôùn hôn toác ñoä baud. Raát nhieàu ngöôøi nhaàm laãn 2 thuaät ngöõ naøy. Ngoaøi caùc kyõ thuaät ñieàu cheá soùng mang neâu treân, ngöôøi ta coøn keát hôïp caùc thay ñoåi pha vôùi caùc thay ñoåi bieân ñoä trong soùng mang bò ñieàu cheá vaø goïi laø ñieàu cheá QAM (Quadrature Amplitude Modulation) nhaèm chuyeån taûi nhieàu thoâng tin hôn. Neáu döõ lieäu phaùt laø moät chuoãi caùc kyù töï 8 bit, ngöôøi ta muoán ñöôøng truyeàn coù khaû naêng keát noái 8 bit ñoàng thôøi, nghóa laø 8 ñoâi daây. Vì ñöôøng daây ñieän thoïai chæ cung caáp 1 keânh (channel), neân caùc bit phaûi ñöôïc phaùt noái tieáp, bit naøy sau bit kia (hoaëc Nguyeãn Höõu Loäc Khoa Vaät Lyù
  43. Caán Truùc Maùy Tính -43- nhoùm thaønh 2 neáu duøng phöông phaùp maõ hoaù dibit). Loaïi thieát bò nhaän caùc kyù töï töø moät maùy tính döôùi daïng caùc tín hieäu 2 möùc, 1 bit ôû moät thôøi ñieåm vaø phaùt caùc bit ôû daïng caùc nhoùm 1 hoaëc 2 bit ñöôïc ñieàu bieân, ñieàu taàn hoaëc ñieàu pha goïi laø modem. Modem phaùt caùc bit rieâng leõ trong moät kyù töï ôû nhöõng khoaûng thôøi gian caùch ñeàu nhau. Thí duï: vôùi toác ñoä döõ lieäu 1200 baud, tín hieäu coù söï thay ñoåi cöù sau moãi 833 microgiaây. Duøng moät modem thöù hai ôû ñaàu thu ñeå ñoåi soùng mang ñaõ ñieàu cheá thaønh soá nhò phaân. Bôûi vì caùc bit ñeán ñaàu thu ôû nhöõng khoaûng thôøi gian caùch ñeàu nhau, neân ngay khi modem thu xaùc ñònh ñieåm baét ñaàu cuûa moät kyù töï, ñoàng hoà (clock) cuûa modem cho bieát khi naøo phaûi laáy maãu tín hieäu ñöôøng truyeàn ñeå ñoïc gía trò cuûa caùc bit rieâng leõ. Bell Lab vaø Uyû Ban Tö Vaán quoác teá veà ñieän thoaïi vaø ñieän tín CCITT (Consultative Committee on International Telephone and Telegraph) ñaõ ñaët ra nhöõng tieâu chuaån cho caùc nghi thöùc (Protocol) truyeàn qua modem. Toå chöùc naøy ñöôïc ñaët teân laø Hieäp hoäi vieãn thoâng quoác teá ITU (International Telecommunication Union ) vaø caùc nghi thöùc ñöôïc phaùt trieån goïi laø caùc tieâu chuaån ITU – T. Caùc modem thöôøng tuaân theo caùc tieâu chuaån khaùc nhau tuyø vaøo nhöõng ñaëc tröng vaø khaû naêng cuûa chuùng. Phaùt hieän loãi vaø khaû naêng cuûa moät soá modem nhaän bieát coù loãi phaùt sinh vaø yeâu caàu truyeàn laïi döõ lieäu ñaõ bò sai . Hai modem ôû 2 thieát bò truyeàn vaø nhaän phaûi coù cuøng tieâu chuaån phaùt hieän loãi vaø söûa loãi. Caùc nghi thöùc söûa loãi ñaõ ñöôïc duøng laø nghi thöùc maïng cuûa Microcom cho caùc tieâu chuaån MNP1 ñeán MNP4 (Microcom Networking Protocol), thuû tuïc truy xuaát lieân keát cho caùc modem LAPM (Link Access Procedure for Modems) cho tieâu chuaån V.42 v. v . Neùn döõ lieäu vaø khaû naêng caøi ñaët saün trong moät soá modem nhaèm tieát kieäm thôøi gian truyeàn vaø chi phí truyeàn. Hieäu suaát neùn caøng cao toác ñoä truyeàn döõ lieäu cuûa modem caøng lôùn. Thí duï nhö hieäu xuaát neùn laø 4 : 1 seõ taêng toác ñoä cuûa modem leân 4 laàn, modem 14400 bps coù döõ lieäu ñöôïc neùn seõ coù toác ñoä truyeàn 57600 bps vaø modem 28.8 Kbps coù theå ñaït ñeán 115200 bps. Tieâu chuaån MLP5, V.42 bis laø caùc tieâu chuaån coù nghi thöùc neùn döõ lieäu. Caùc modem môùi nhaát hieäu ñang ñöôïc söû duïng roäng raõi coù toác ñoä truyeàn döõ lieäu laø 56 Kbps. Truyeàn ñoàng boä vaø khoâng ñoàng boä . Coù 2 phöông phaùp khaùc nhau ñöôïc duøng ñeå truyeàn caùc kyù töï. Trong phöông phaùp truyeàn khoâng ñoàng boä (asynchronous), khoaûng thôøi gian giöõa 2 kyù töï khoâng coá ñònh, maëc duø khoaûng thôøi gian giöõa 2 bit lieân tieáp trong moät kyù töï coá ñònh. Thí duï: moät ngöôøi ñaùnh maùy treân moät thieát bò ñaàu cuoái chia seû thôøi gian (time-sharing terminal) seõ khoâng ñaùnh ôû cuøng moät toác ñoä, nhö vaäy khoaûng thôøi gian giöõa hai kyù töï lieân tieáp khoâng phaûi laø haèng soá . Söï bieán thieân toác ñoä naøy laøm naûy sinh vaán ñeà laøm theá naøo ñeå maùy thu coù theå nhaän ra bit ñaàu tieân cuûa moät kyù töï . Neáu söû duïng caùc phöông phaùp ñieàu cheá trong hình Nguyeãn Höõu Loäc Khoa Vaät Lyù
  44. Caán Truùc Maùy Tính -44- 2.20, ta khoâng coù caùch naøo phaân bieät giöõa bit 0 vaø khoâng coù döõ lieäu. Moät kyù töï goàm toaøn caùc bit 0 seõ khoâng theå naøo nhìn thaáy ñöôïc. Hôn nöõa, moät kyù töï goàm toaøn bit 1 theo sau laø 7 bit 0 seõ khoâng phaân bieät ñöôïc vôùi moät kyù töï goàm 7 bit 0 vaø theo sau laø bit 1, bôûi vì maùy thu khoâng coù caùch naøo bieát ñöôïc coù bit 1 hay 0 ôû ñaàu, ôû giöõa hoaëc ôû cuoái kyù töï . Ñeå giuùp maùy thu nhaän ra nôi baét ñaàu moät kyù töï , ngöøôi ta phaùt tröïc tieáp moät bit Start ngay tröôùc moãi kyù töï. Ñeå caûi tieán ñoä tin caäy, ngöôøi ta phaùt theâm 1 hoaëc 2 bit stop ngay sau moãi kyù töï. Thoâng thöôøng, ñöøông truyeàn ñöôïc giöõ ôû traïng thaùi 1 khi khoâng coù döõ lieäu ñöôïc phaùt ñeå cho pheùp phaùt hieän maïch hôû, vì vaäy bit Start laø 0. Caùc bit Stop laø 1 ñeå phaân bieät vôùi caùc bit Start. Giöõa bit Start vaø caùc bit Stop laø caùc bit döõ lieäu ñöôïc phaùt ôû nhöõng khoaûng thôøi gian baèng nhau. Boä ñònh thì trong modem thu ñöôïc khôûi ñoäng khi bit Start ñeán, cho pheùp modem nhaän bieát bit baét ñaàu cuûa kyù töï. Phöông phaùp truyeàn khoâng ñoàng boä ñöôïc minh hoaï trong hình 2.23(a). Trong phöông phaùp truyeàn khoâng ñoàng boä, toác ñoä bit ( bit rate ) trong khoaûng töø 110 bps tôùi 19200 bps. ÔÛ toác ñoä 110 bps, ngöôøi ta duøng hai bit stop, vì theá moät kyù töï 7 bit, coäng vôùi moät bit kieåm tra chaún leõ,1 bit Start, 2 bit Stop seõ cho moät khung 11 bit. Do vaäy, 110 bps töông öùng vôùi toác ñoä 10 kyù töï moãi giaây. ÔÛ nhöõng toác ñoä cao hôn, ngöôøi ta chæ duøng moät bit Stop. Phöông phaùp truyeàn ñoàng boä (synchronous) khoâng söû duïng bit Start vaø caùc bit Stop. Keát quaû laø toác ñoä truyeàn döõ lieäu ñöôïc taêng leân. Truyeàn ñoàng boä thöôøng tieán haønh ôû toác ñoä 4800 bps, 9600 bps, hoaëc thaäm trí coøn cao hôn. Trong phöông phaùp naøy, moät khi ñaõ ñoàng boä, caùc modem vaãn tieáp tuïc gôûi caùc kyù töï ñeå duy trì ñoàng boä, ngay caû luùc khoâng phaùt döõ lieäu. Moät kyù töï ñaëc bieät “idle” ñöôïc gôûi ñi khi khoâng coù döõ lieäu phaùt. Trong phöông phaùp truyeàn ñoàng boä, khoâng gioáng nhö truyeàn khoâng ñoàng boä, khoaûng thôøi gian giöõa 2 kyù töï luoân baèng nhau. Hình 2.23 :Caùc phöông thöùc truyeàn ( a) Truyeàn baát ñoàng boä ( b) Truyeàn ñoàng boä . Truyeàn ñoàng boä ñoøi hoûi caùc xung ñoàng hoà (clock) trong maùy thu vaø phaùt phaûi duy trì ñoàng boä trong nhöõng khoaûng thôøi gian daøi, traùi laïi ñieàu naøy khoâng caàn ñeán trong truyeàn baát ñoàng boä do caùc söï baét ñaàu cuûa moãi kyù töï ñaõ ñöôïc chæ roõ baèng 1 bit Start. Thôøi gian truyeàn coù theå tieáp tuïc laâu maø khoâng coù söï taùi ñoàng boä cuûa maùy thu vôùi pha Nguyeãn Höõu Loäc Khoa Vaät Lyù
  45. Caán Truùc Maùy Tính -45- cuûa maùy phaùt tuyø thuoäc vaøo söï oån ñònh cuûa caùc xung ñoàng hoà. Ñieån hình caùc xung ñoàng hoà, oån ñònh ñuû ñeå cho pheùp caùc khoái haøng ngaøn kyù töï phaùt ñi maø khoâng caàn söï taùi ñoàng boä. Ñoâi khi nhöõng khoái kyù töï naøy duøng maõ Hamming hoaëc nhöõng kyõ thuaätï khaùc ñeå phaùt hieän ñeå söûa loãi ñöôøng truyeàn. Truyeàn ñôn coâng, baùn song coâng vaø song coâng Coù 3 phöông phaùp truyeàn ñöôïc duøng trong muïc ñích truyeàn thoâng tin : Ñôn coâng, baùn song coâng, vaø song coâng. Ñöôøng truyeàn ñôn coâng (simplex) coù khaû naêng truyeàn döõ lieäu chæ theo höôùng. Nguyeân nhaân khoâng phaûi do tính chaát cuûa ñöøông daây, ñôn giaûn chæ vì moät ñaàu cuoái chæ coù 1 maùy phaùt vaø ñaàu cuoái kia chæ coù moät maùy thu. Caáu hình naøy ít ñöôïc duøng trong caùc maùy tính vì khoâng coù caùch naøo ñeå maùy thu phaùt tín hieäu nhaän bieát (acknowledgement signal) tôùi maùy phaùt, cho bieát thoâng ñieäp (message) ñaõ ñöôïc nhaän ñuùng. Phaùt thanh vaø truyeàn hình laø nhöõng thí duï veà truyeàn ñôn coâng . Ñöôøng truyeàn baùn song coâng (half–duplex) coù theå phaùt vaø nhaän döõ lieäu treân caû 2 höôùng nhöng khoâng ñoàng thôøi. Trong suoát moät cuoäc truyeàn, moät modem seõ laø maùy phaùt vaø modem coøn laïi laø maùy thu. Tình huoáng thoâng thöôøng laø thieát bò A , hoaït ñoäng nhö moät maùy phaùt , gôûi moät chuoãi caùc kyù töï tôùi thieát bò B, hoaït ñoäng nhö moät maùy thu. Sau ñoù A vaø B ñoåi vai troø cho nhau, B gôûi thoâng baùo trôû laïi A cho bieát kyù töï nhaän ñöôïc coù loãi khoâng? Neáu khoâng coù loãi ñöôøng truyeàn, A vaø B ñoåi vai troø laàn nöõa, vaø A seõ gôûi thoâng ñieäp keá tieáp tôùi B. Neáu coù loãi, A phaùt laïi thoâng ñieäp ñaõ gôûi laàn nöõa. Söï ñoái thoaïi (conversation) giöõa maùy phaùt vaø maùy thu veà ñieàu gì phaûi laøm keá tieáp goïi laø nghi thöùc truyeàn (protocol). Thôøi gian caàn ñeå chuyeån ñöôøng truyeàn baùn song coâng töø höôùng naøy thaønh höôùng kia coù theå daøi gaáp nhieàu laàn thôøi gian truyeàn kyù töï. Ñöøông xe löûa laø moät ví duï cuûa phöông thöùc truyeàn baùn song coâng, bôûi vì noù coù theå ñieàu haønh giao thoâng treân caû 2 höôùng nhöng khoâng ñoàng thôøi. Ngöôïc laïi, ñöôøng truyeàn song coâng (full–duplex) coù theå phaùt vaø nhaän döõ lieäu ñoàng thôøi ôû caû hai höôùng. Moät caùch khaùi quaùt, ñöôøng truyeàn song coâng töông ñöông vôùi 2 ñöôøng truyeàn ñôn coâng, moät con ñöôøng cho moãi höôùng. Vì 2 ñöôøng truyeàn coù theå tieán haønh song song, moät ñöôøng cho moãi höôùng neân truyeàn song coâng coù theå phaùt nhieàu thoâng tin hôn truyeàn baùn song coâng vôùi cuøng toác ñoä döõ lieäu, truyeàn song coâng khoâng maát thôøi gian ñeå thay ñoåi höôùng truyeàn. 4. Chuoät: Caøng ngaøy ngöôøi söû duïng maùy tính caøng khoâng caàn coù nhieàu kieán thöùc veà caùch laøm vieäc cuûa maùy tính. Caùc maùy tính theá heä ENIAC chæ ñöôïc ngöôøi cheá taïo ra noù söû duïng. Vaøo nhöõng naêm 1950, caùc maùy tính chæ ñöôïc söû duïng bôûi nhöõng chuyeân gia laäp trình laønh ngheà. Ngaøy nay, con ngöôøi coù theå söû duïng maùy tính moät caùch roäng raõi vaøo moät soá coâng vieäc maø hoï muoán thöïc hieän, vaø hoï khoâng caàn bieát nhieàu, (hoaëc thaäm chí khoâng muoán bieát) veà caùch laøm vieäc cuûa maùy tính hoaëc caùch laäp trình treân maùy tính. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  46. Caán Truùc Maùy Tính -46- Nhieàu ngöôøi nhaän thaáy vieäc goõ caùc leänh (thöôøng khoù hieåu) treân baøn phím laø khoâng quen thuoäc vôùi ngöôøi söû duïng. Ngöôøi ta raát thích nhöõng heä thoáng trong ñoù maùy tính theå hieän caùc trình ñôn (menu) treân maøn hình, vaø hoï troû môùi tôùi muïc maø hoï muoán. Duøng moâ hình naøy ñoøi hoûi phaûi coù moät caùch ñeå troû treân maøn hình. Chuoät (mouse) laø thieát bò thoâng duïng nhaát cho pheùp ngöôøi söû duïng troû treân maøn hình. Chuoät ñöôïc Douglas Englebart phaùt minh vaøo naêm 1964 taïi tröôøng ñaïi hoïc Stanford. Chuoät chính thöùc ñöôïc goïi laø boä ñònh vò X–Y treân maøn hình. Naêm 1973, Xerox aùp duïng chuoät cho heä thoáng maùy tính Alto caûi tieán, vaøo luùc naøy ñang ñöôïc thí nghieäm vaø chæ söû duïng cho nghieân cöùu. Chuoät laø moät hoäp plastic nhoû ñaët treân baøn caïnh thieát bò ñaàu cuoái. Khi di chuyeån chuoät treân baøn, moät con troû nhoû (cursor) treân maøn hình cuõng di chuyeån theo, cho pheùp ngöôøi söû duïng troû tôùi caùc muïc treân maøn hình. Chuoät thöôøng coù 2 hoaëc 3 nuùt nhaán (button), cho pheùp choïn caùc muïc töø trình ñôn (menu) treân maøn hình. Ñaõ coù nhieàu tranh luaän veà chuoät caàn phaûi coù bao nhieâu nuùt nhaán. Ngöôøi bình thöôøng thích coù moät nuùt nhaán hôn (vì khoù coù söï nhaàm laãn), nhöõng ngöôøi thaønh thaïo thích coù nhieàu nuùt ñeå thöïc hieän nhöõng ñieàu khaùc thöôøng. Coù 3 loaïi chuoät ñang ñöôïc söû duïng: Chuoät cô khí (mechanical mouse), chuoät quang (optical mouse), vaø chuoät cô khí–quang (opto–mechanical mouse). Moät loaïi chuoät cô khí coù hai baùnh xe cao su nhoâ ra ôû phía döôùi, coù caùc truïc vuoâng goùc nhau ñöôïc minh hoïa trong hình 2.24. Khi chuoät di chuyeån song song vôùi truïc chính, moät baùnh xe seõ quay. Khi di chuyeån thaúng goùc vôùi chuïc chính, baùnh xe kia seõ quay. Moãi baùnh xe seõ ñieàu khieån moät bieán trôû. Baèng caùch ño söï thay ñoåi ñieän trôû coù theå bieát moãi baùnh xe quay bao nhieâu, vaø nhö vaäy tính ñöôïc chuoät ñaõ di chuyeån bao xa theo moãi höôùng . Hình 2.24: Chuoät coù baùnh xe duøng ñeå troû ñeán caùc muïc trong menu. Moät loaïi chuoät cô khí khaùc cuõng ñaït ñöôïc hieäu quaû nhö vaäy baèng caùch duøng moät quaû caàu nhoû hôi nhoâ ra ôû phía döôùi. Nguyeãn Höõu Loäc Khoa Vaät Lyù
  47. Caán Truùc Maùy Tính -47- Loaïi thöù hai laø chuoät quang. Loaïi naøy khoâng coù baùnh xe hoaëc quaû caàu, thay vaøo ñoù moät diod phaùt saùng LED (Light Emitting Diode) vaø moät boä taùch quang phía döôùi. Chuoät quang ñöôïc duøng treân moät mieáng ñeäm plastic ñaëc bieät coù moät maïng löôùi caùc doøng keû chöõ nhaät caùch khoaûng gaàn nhau. Khi chuoät di chuyeån treân löôùi, boä taùch quang doø doøng keû ñi ngang qua baèng caùch xem söï thay ñoåi löôïng aùnh saùng phaûn hoài töø LED. Maïch ñieän töû beân trong chuoät seõ ñeám soá doøng cuûa maïng löôùi ñi qua theo moãi höôùng. Loaïi thöù ba laø chuoät cô khí-quang. Gioáng nhö chuoät cô khí coù hai baùnh xe, chuoät cô khí-quang cuõng coù hai baùnh xe quay ñöôïc gaén vuoâng goùc nhau. Tuy nhieân, moãi baùnh coù moät LED ôû giöõa vaø moät loaït khe hôû khaùc ñeàu nhau xung quanh chu vi baùnh xe cuøng vôùi moät boä taùch quang ñaët ngay beân ngoaøi baùnh xe. Khi chuoät di chuyeån caùc baùnh xe quay vaø caùc xung aùnh saùng ñaäp vaøo boä taùch quang moãi khi coù moät khe hôû xuaát hieän giöõa LED vaø boä taùch quang. Soá xung phaùt hieän ñöôïc seõ tæ leä vôùi khoaûng caùch di chuyeån treân maøn hình cuûa con troû. Hình 2.25: Caáu taïo cuûa chuoät cô khí-quang Maëc duø chuoät ñöôïc thieát keá theo nhieàu caùch khaùc nhau, nhöng thoâng thöôøng khi söû duïng, chuoät ñeàu gôûi moät chuoãi 3 byte tôùi maùy tính sau moãi 100 mgiaây. Caùc kyù töï tôùi maùy tính thöôøng ñi treân ñöôøng caùp RS-232–C, nhö theå chuùng ñöôïc ñaùnh treân maøn phím. Byte ñaàu tieân chöùa moät soá nguyeân coù daáu cho bieát chuoät ñaõ di chuyeån theo chuïc X bao nhieâu ñôn vò trong 100 mgiaây cuoái. Byte thöù hai cuõng cho bieát thoâng tin nhö vaäy nhöng theo truïc Y. Byte thöù ba chöùa traïng thaùi hieän taïi cuûa caùc nuùt nhaán. Ñoâi khi ngöôøi ta coøn duøng 2 byte cho moãi truïc toaï ñoä. Phaàn meàm caáp thaáp trong maùy tính nhaän thoâng tin naøy vaø ñoåi chuyeån ñoäng töông ñoái do chuoät gôûi tôùi thaønh vò trí tuyeät ñoái. Sau ñoù moät muõi teân (con troû) ñöôïc hieån thò treân maøn hình ôû vò trí töông öùng vôùi vò trí cuûa chuoät. Khi muõi teân troû tôùi moät muïc thích hôïp, ngöôøi söû duïng nhaáp (click) moät nuùt nhaán, nuùt ñoù maùy tính seõ hieåu muïc naøo ñaõ ñöôïc choïn töø söï nhaän bieát muõi teân ñang ôû nôi naøo treân maøn hình . Cuoái naêm 1996, Microsoft ñöa ra moät loaïi chuoät môùi goïi laø chuoät thoâng minh (intelligent mouse), tuy gioáng nhö caùc chuoät Microsoft chuaån nhöng coù theâm moät baùnh xe nhoû ôû beân treân giöõa hai nuùt phaûi vaø traùi cuûa chuoät. Baùnh xe naøy coù hai chöùc naêng chuû yeáu laø cuoän caùc taøi lieäu hoaëc nhöõng trang Web baèng caùch ñaåy baùnh xe tôùi lui , Nguyeãn Höõu Loäc Khoa Vaät Lyù