1. Trang chủ
  2. » Công Nghệ Thông Tin

giáo trình kiến trúc máy tính

101 853 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 101
Dung lượng 1,7 MB

Nội dung

khiển CU để điều khiển các thao tác của CPU và bằng phân quyền, các chươngtrìnhđiềukhiểnhệthốngđiềukhiểnsựthựcthicủacácchươngtrìnhkhác.. Có rấtnhiều thanhghiCPUkhác nhau đượcsửdụngđểđiều

Trang 1

BỘGIAO THÔNGVẬNTẢI

TRƯỜNG ĐẠI HỌC HÀNG HẢI

BỘ MÔN: KỸ THUẬT MÁY TÍNH KHOA: CÔNG NGHỆ THÔNG TIN

Trang 2

Chương I: GIỚITHIỆUCHUNG

7 1.1.Lịchsửpháttriểnvàphânloại

7 1.1.1.Lịchsửpháttriển

7 1.1.2.Phânloạimáytính

8 1.2.Biểudiễnthôngtintrênmáytính 10

1.2.1.Hệđếm 10

1.2.2.Đổisốthậpphânrasốnhịphânhoặcngượclại 11

1.2.3.Cácloạimã 12

1.2.4.Biểudiễnsốnguyêntheomãnhịphân 12

1.2.5.Biểudiễnsốthựctheomãnhịphân 12

1.2.6.Biểudiễncácdạngthôngtinkhác 13

1.3.Cácloạimáytínhcánhân 13

ChươngII:BỘXỬ LÝTRUNGTÂM 15

2.1.Tổchứcbộxửlý 15

2.2.Tổchứcthanhghi 16

2.2.1.User-VisibleRegisters: 16

2.2.2.ControlandStatusRegisters: 17

2.3.ĐơnvịsốhọcvàlogicALU(Arithmeticandlogicunit)

18 2.4.ĐơnvịđiềukhiểnCU(ControlUnit) 19

2.4.1Tínhiệuđiềukhiển: 20

2.4.2.Đơnvịđiềukhiểnvichươngtrình 21

2.4.3.Mộtsốmởrộngcủa vixửlýmáytínhchođếnngàynay 21

2.5.Cấutrúckếtnối-BUS 22

2.6.TậplệnhvàcácModeđịachỉ 23

2.6.1.TậplệnhcủaCPU 23

2.6.2.CácnhómlệnhcủaCPU 24

2.6.3.Hợpngữ(Assembly) 30

2.6.4.CácModeđịachỉ 34

ChươngIII:HỆTHỐNGNHỚ 37

3.1.Kháiquátvềhệthốngnhớ 37

3.2.Phâncấpbộnhớ 38

3.3.Bộnhớbándẫn 38

3.3.1.Cácloạibộnhớbándẫn 38

3.3.2.Tổchứcbộnhớ 39

3.4.CacheMemory 39

3.4.1.Nguyêntắc 39

3.4.2.Kỹthuậtánhxạbộnhớcache 40

3.5.Quảnlýbộnhớ 43

3.5.1.Cáckỹthuậtquảnlýbộnhớ 43

Trang 3

-1

-3.5.2.Bộnhớảo 46

3.5.3.Sựphânđoạn 48

3.6.Kỹthuậtgiảimãđịachỉ 49

3.6.1.Cấutạomộtvimạchnhớ 49

3.6.2.Giảimãđịachỉchobộnhớ 50

ChươngIV:HỆTHỐNGVÀORA 53

4.1.Giớithiệuchung 53

4.1.1.Cácthiếtbịngoạivi 53

4.1.2.Modulvàora 53

4.2.Ghépnốimáytínhvớithiếtbịngoạivi 54

4.2.1.Ghépnốisongsong 54

4.2.2.Ghépnốinốitiếp 56

4.3.Cácphươngphápđiềukhiểnvàora 56

4.3.1.Vàorađiềukhiểnbằngcáchthămdò 56

4.3.2.VàorađiềukhiểnbằngNgắt 57

4.3.3.VàorađiềukhiểnbằngDMA 61

ChươngV:THIẾTBỊNHẬPDỮLIỆU 64

5.1.Giớithiệuchung 64

5.2.Bànphím 64

5.1.1.Kĩthuậtdòphím 64

5.1.2.Kĩthuậtquétphím(Scan) 65

5.3.Chuột 66

5.4.Cácthiếtbịnhậpliệutiêntiến 66

ChươngVI:THIẾTBỊXUẤTDỮLIỆU 67

6.1.Nhữngkháiniệmcơbản 67

6.1.1.Nguyênlýcủaphươngpháphiểnthịhìnhảnhvideo

67 6.1.2.Nhữngđặcđiểmchungcủamànhình 67

6.2.MànhìnhmàuCRT(CathodRayTube) 68

6.2.1.Cấutạo 68

6.2.2.Phươngphápquétdòng 69

6.2.3.Sơđồghépnốivàhoạtđộng: 69

6.2.4.Kĩthuậtlàmtươihìnhảnh 70

6.3.Máyin 70

ChươngVII:THIẾTBỊLƯUTRỮ 71

7.1.Giớithiệuchung 71

7.2.Đĩatừ(Magetic) 71

7.2.1.Thamsốđọcghi(Đầutừ) 71

7.2.2.Thamsốđĩatừ 72

72.3.Cáccôngnghệsảnxuấtđĩatừ 73

7.2.4.Chuẩnbịmộtđĩacứngđểđưavàosửdụng 74

7.3.ĐĩaQuang(OpticalDisk) 74

7.3.1.Đặcđiểm 74

7.3.2.Nguyêntắcđọc/ghithôngtin 74

Trang 4

-2

-7.3.3.Phânloại 757.4.Cácthiếtbịlưutrữkhác 75ChươngVIII:THIẾTBỊGHÉPNỐIVÀTRUYỀNTHÔNG

768.1.Giớithiệuchung 768.2.Bộchuyểnđổitínhiệu 768.2.1.Bộchuyểnđổitínhiệusố-tươngtự:DAC(DigitalAnalogConverter)

768.2.2.Bộchuyểnđổitínhiệutươngtự-số:ADC(AnalogDigitalConverter)

778.2.3.Modem(Modulation-Demodulation)điềuchếvàgiảiđiềuchế

788.3.Cácchuẩngiaotiếp 798.3.1.Cácchuẩnchung: 798.3.2.CácchuẩnvềgiaodiệngữaDTEvàDCEbaogồm:

798.3.3.ChuẩnEIA-RS232(ElectronicIndustryAssociation-RecomandStandard)

798.4.Mạchđiềukhiểntruyềnsốliệu 818.4.1.Giớithiệuchung 818.4.2.MạchđiềukhiểntruyềnthôngdịbộvạnnăngUART(VXL8250A)

828.4.3.Mạchđiềukhiểntruyềnthôngđồngbộ-dịbộvạnnăngUSART(VXL8251A)

89

Trang 5

-3

-TÊN CHƯƠNG MỤC Chương I :Giới thiệu chung

1.Lịchsửpháttriển

2.Phânloại

3.Hệđếm

4.Cácloạimã

5.Đơnvịthôngtin

6.Biểudiễnsốnguyêntrongmáy

7.Mảngvàngănxếp

Chương II : Bộ xử lý trung tâm

1.Tổchứccủabộxửlítrungtâm

YÊU CẦU VÀ NỘI DUNG CHI TIẾT

Điều kiện tiên quyết:

Sinhviênphảihọcxong cáchọcphầnsaumớiđượcđăngkýhọcphầnnày:

KiếnHệđiều hành,Cấutrúcdữliệu, cácNgônngữlậptrìnhcấpcao,Mạchvàtínhiệu,

Trang 6

- PhầnI: Kiếntrúcmáytính- giớithiệu vềcácphương pháp biểudiễnthôngtin trong

máytính, kiếntrúcchungcủa máytính điệntửvà các thànhphầnbêntrong cũngnhư

chứcnăngvàcấutrúctrongcủacácthànhphầnnày

-PhầnII:Cácthiếtbịngoạivi-giớithiệuchungvề hệthốngvàora, cácthiếtbịngoại

vi, chứcnăngvàcấutrúctrongcủachúngcũngnhưquátrìnhghépnốicácthiếtbịnày

vớimáytínhđiệntử

2.CácMôđunvàora

1.Ghépnốinốitiếp

2.Ghépnốisongsong

1.Vàorabằngphươngphápthămdò

2.VàorabằngNgắt

3.Vàorabằngphươngpháptruynhậptrựctiếpbộnhớ

4.Cácthiếtbịnhậpliệutiêntiến 0,5

Nội dung chi tiết của học phần:

Trang 7

Chương VIII : Thiết bị ghép nối và truyền thông 12 6 5 1

3.Cácchuẩnghépnốivàtruyềnthông 1

4.Thiếtbịđiềukhiểnghépnốitruyềnthông 2

Nhiệm vụ của sinh viên :

Tham dựcác buổithuyếttrìnhcủa giáoviên, tự học,tựlàm bàitậpdo giáo viêngiao,thamdựcácbuổithựchành,cácbàikiểmtrađịnhkỳvàcuốikỳ,hoànthànhbàitậplớntheoyêucầu

Tài liệu học tập :

-WilliamStalling-ComputerOrganizationandArchitecture,1997

-Mc.Graw-ComputerArchitecture,1997

-VănThếMinh-Kỹthuậtvixửlý-NXBgiáodục1997

-NguyễnKimKhánh-Giáotrìnhkiếntrúcmáytính -ĐHBKHànội

-NguyễnĐìnhViệt-Giáotrìnhkiếntrúcmáytính-ĐHQGHànội

-TrầnTháiBá-Điềukhiểnvàghépnốithiếtbịngoạivi- NXBthốngkê2000

-TrầnQuangVinh-Cấutrúcmáytính-NXBgiáodục1997

-VõVănThành-Máyvitínhsựcốchẩnđoánvàcáchgiảiquyết-NXBthốngkê1996

-WilliamStalling-Computer Architecture Advanced, 1997

Hình thức và tiêu chuẩn đánh giá sinh viên:

-Đánhgiádựatrêntìnhhìnhthamdựbuổihọctrênlớp,cácbuổithựchành,điểmkiểmtrathườngxuyênvàđiểmkếtthúchọcphần

-Hìnhthứcthicuốikỳ:thiviểt

Thang điểm: Thang điểm chữ A, B, C, D, F

Điểm đánh giá học phần Z = 0.3X + 0.7Y.

Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Kỹ thuật máytính, KhoaCôngnghệThôngtinvàđượcdùngđểgiảngdạychosinhviên

Ngày phê duyệt: 15 / 6 / 2010

Trưởng Bộ môn: ThS Ngô Quốc Vinh

Trang 8

-6

-Chương I: GIỚI THIỆU CHUNG

1.1 Lịch sử phát triển và phân loại

Chođếnngàynaymáytínhđãcó nhữngsựpháttriểnvượtbậc,ứngdụngtronghầuhếtcác hoạtđộngcủaxãhộivớirấtnhiều chủngloạithếhệtuỳtheocôngviệc Tuynhiên kểtừ

đóđếnnaycóthểphânmáytínhrathànhcácthếhệsau:

• Về kỹthuật:linhkiệndùngđènđiệntử,độ tincậythấp, tổnhao nănglượng.Tốc

độtínhtoántừvàinghìnđếnvàitrămnghìnphéptính/giây

• Vềphầnmềm:chủyếudùngngônngữmáyđểlậptrình

• Vềứngdụng:mụcđíchnghiêncứukhoahọckỹthuât

Th

• Vềkỹthuật:linhkiệnbándẫnchủyếulàtransistor.Bộnhớcódunglượngkhálớn

• Vềphầnmềm:đãbắtđầusửdụngmộtsốngônngữlậptrìnhbậccao:Fortran,Algol,Cobol,

• Vềứngdụng:thamgiagiảicácbàitoánkinhtếxãhội

Th

• Vềkỹthuật:linhkiệnchủyếusửdụngcácmạchtíchhợp(IC),các thiếtbịngoạiviđượccảitiến,đĩatừđượcsửdụngrộngrãi.Tốcđộtínhtoánđạtvàitriệuphéptoántrêngiây;dunglượngbộnhớđạtvàiMB(Megabytes)

• Vềphầnmềm:Xuấthiệnnhiềuhệđiềuhànhkhácnhau.Xửlísongsong.Phầnmềm

đadạng,chấtlượngcao,chophépkhaithácmáytínhtheonhiềuchếđộkhácnhau

• Vềứngdụng:thamgiatrongnhiềulĩnhvưccủaxãhội

MáyIBM_PC coinhưđượckhởiđầu từmột côngtrìnhcủaphòngthí nghiệmtạiAtlantacủaIBM

o Từnăm1979-1980IBM hoànthànhchiếcmáyDatamaster.Máy nàydùng vi

xửlý16bitcủaIntel

o Năm 1980 kế hoạch sản xuất máy PC bắt đầu được thực hiện Chiếc máy

Trang 9

o Năm1981-1982IBMsảnxuấtmáytínhPCsửdụngbộvixửlý8086,8088

o Năm1984máytínhxửdụngchíp80286

o Năm1987máytínhxửdụngbộVXL32bits80386

o Năm1990bộVXL80486rađờivớinhiềutínhnănghơn

-7

-o Năm 1993Bộ VXLPentium rađờimởramộtthếhệ vitínhcá nhânmớivới

64bitsdữliệu,32bitđịachỉ

o 1995-1999 các thế hệ VXL mới như MMX,Pentium II,III với khả năng biểudiễnkhônggian3chiều,nhậndạngtiếngnói

o Từnăm2000cùngvớiMercedmộtthế hệVXL64bitvớicấu trúchoàntoànmớirađờiđãtạoramộtthếhệmáyvitínhmới

• Vềứngdụng:Máytínhđãđượcápdụngtronghầuhếtcáclĩnhvựccủaxãhội

Th

TheođềáncủangườiNhậtchiếcmáytínhđiệntửthếhệthứ5cócấutrúchoàntoànmới,baogồm4khốicơbản.Mộttrongcáckhốicơbảnlàmáytínhđiệntửcócấutrúcnhư hiệnnayvàliên hệtrực tiếp vớingườisửdụngthôngquakhối giao tiếptríthứcgồm3khốicon:bộxửlýgiaotiếp,cơsởtrithứcvàkhốilậptrình

Máytính (computer) là một khái niệm tương đối rộng, tuỳtheo cấu trúc, chức năng,hìnhdáng màcóthểphânranhiềuloạikhácnhau.Vềcănbảnmáytínhđượcphânlàmcácloạichínhsau:

1.1.2.1.Phânloạitheo khảnăng

• Máytínhlớn(mainframecomputer)

• Máytínhcon(minicomputer)

• máyvitính(Microcomputer)

Là những máy tính cỡ lớn, có khả năng hỗ trợ cho hàngtrăm đến hàng ngànngườisửdụng.Cókhảnănggiảinhữngbàitoánlớntốcđộtínhtoánnhanh.Chúngđượcthiếtkếđặcbiệtvớichiềudàibusdữliệurộng64bithoặchơn.Kíchthướcbộnhớlàmviệcrấtlớn.Giáthànhcaochỉđượcchuyêndùngchocácứngdụngtrongquânsự,ngânhàng,khítượng.Thườngđượcsửdụngtrongchếđộcáccôngviệcsắp xếptheo lôlớn(Large-Batch-Job)hoặc xửlý cácgiaodịch(TransactionProcessing), vídụtrongngânhàng

Là một dạng thu nhỏ của máytính lớn Chiều rộng dữ liệu vào khoảng 32 bitđến 64bit Do giá thànhthấp hơn máytính lớn,tính năng mạnhnên máytính con rấtđượcưadùngtrongnghiêncứukhoahọc

Những máy dùng bộ vi xử lý (họ Intel, Motorola) làm cốt lõi, vi điều khiển(microcontroler)vàmáytínhtrongmộtvimạch(one-chipmicrocomputer)đềuthuộchọmáyvitính Đặcđiểmchung vềcôngnghệ củahọnàymức độtổ hợp lớnVLSI(verylargescaleintegration)vàdùngcôngnghệCMOS(complementarymetaloxidesilicon)

đểchế tạocácmạchlogic Tốcđộphát triểncác vixửlý 32bit và64 bithiệnđại làmkhoảngcáchgiữamáytínhlớnvàmáyvitínhngàycàngthuhẹp

Tr

Cũnglàmộtloạimáyvitính,đặcđiểmkhácbiệtsovớimáytínhcá nhânPC là

cókhảnăngđượcnhiềungườicùngxửdụngcùngmộtlúc

Trang 10

Chỉ được một người sử dụng Giá thành của chúng rẻ do cấu hình đơn giản,đượcchuẩnhoá,vàđượcsảnxuấthàngloạtvớisốlượnglớn.Cùngvớisựpháttriểncủakhoahọccôngnghệmàmáytínhcánhânngàynayđãcóthểlàmđượcnhữngcôngviệc

màtrướckiavốnchỉlàđặcquyềncủamáytínhlớn

 thanhghi(regiser)

 ALU(ArithmeticLogicalUnit)

+SIMD(SingleInstructionStream-MultipleDataStream)

T Ýn h iÖu ® iÒu k h iÓn

m e m o ry

Đặcđiểm:

o Cómộtđơnvịđiềukhiển,nphầntửxửlý

o Đơn vị điều khiển: điều khiển đồng thờitất cả các phần tử tại cùng một thờiđiểm các phầntử xử lý thực hiệncùng một thao tác trên các tập dữ liệu khác

Trang 11

-9

-+MIMD(MultipleInstructionStream-MultipleDataStream)

TÝnhiÖu®iÒukhiÓn TÝnhiÖu®iÒukhiÓn

memoryĐặcđiểm:

o Máy gồm hai hoặc nhiều bộ vi xử lý tương tự về khả năng, có thể thực hiệnnhữngphéptoánkhácnhautrencácDLkhácnhau

o TấtcảcácCPUcùngchia xẻmộtbộnhớ chung Mộtsốbộnhớcụcbộcũngcóthểđượcdùng

o Tất cảCPUcùngxửdụngchungcác thiếtbịvào ra, có thểdùngchungmộtsốkênhhoặcdùngcáckênhkhácnhaudẫnđếncùngmộtthiếtbị

o Hệthốngđượcđiềukhiểnbởihệthốnghoạtđộngtíchhợp.Nócungcấpsựảnhhưởnglẫnnhau giữaCPUvà các chương trìnhchạytrênchúngởtask,file,cácthànhphầndữliệu

+MISD(MultipleInstructionStream-SingleDataStream)

Đặcđiểm:

o Cónhiềuđơnvịđiềukhiển

o Thựchiệnlệnhtheocáccôngđoạn,tạimộtthờiđiểmmỗiđơnvịđiềukhiển xử

lý một công đoạn như vậy có thể tiết kiệm được số chu kỳmáycần để xử lýlệnh

o Đây cũng lànguyên tắc của Pipeling khichia lệnh thành các côngđoạn: nhậnlệnhF(Fetch), giảimãlệnhD(Decode), thựchiện lệnhE(Execute), vàghikếtquảW(writeback).Nhưvậyvới4lệnhcóthểtiếtkiệmtới9chukỳmáy

1.2 Biểu diễn thông tin trên máy tính

a

Hệ đếm bất kỳ

Bấtkỳmộthệđếmnàođềubiểudiễnmộtsốnguyêntheonguyêntắcsau:

N=an-1 a0=a0.s0+a1.s1+ +an-1.sn-1=

a is i (1.1)

TrongđóNlàmộtsốnguyêncónchữsố.Chữsốaitạivịtríi(i=0 n-1)đượcgọilàtrị

số(haycòngọilàtrọngsố).Giátrịslàcơsốcủahệđếm.Hệđếmđượcđặttêntheogiátrịcơ

sốs Chẳnghạn,vớis=2tacóhệđếmcơsố2,vớis=10tacóhệđếmcơ số10vàvớis=16ta

cóhệđếm16.Giátrịscũngxácđịnhsốkýtựcầndùngđểbiểudiễntrịsố.Chẳnghạnvớis=2

hệđếmsẽcầnhaikýtựđểbiểudiễn,vìthếtacókháiniệmhệnhịphân(chiaralàmhai).Tươngtựnhưvậy,hệđếm10và16cònđượcgọilàhệthậpphânvàhệthậplụcphân

Trang 12

H ệ đ ếm thập phân

Định nghĩa:là hệđếm quenthuộcnhất củanhân loại Có lẽ hệ đếmnàybắt nguồntừviệcngườitiềnsửdùngmườiđầungóntayđểđếmcácđồvậtxungquanh.NgàynaytoànthếgiớithốngnhấtsửdụngnhữngkýtựsốảRập đểbiểudiễnhệthậpphân.Cáckýtựsốđólà:

Vídụbiểudiễnsốnguyên:

N=1547d=1.103+5.102+3.101+7.100c

Hệ đếm nhị phân

ĐượchìnhthànhtrêncơsởđạisốlôgicBoole,xuấthiêntừcuốithếkỷ19.Hệđếmnày

vàcácmôntoánliênquanđếnnóthựcsựpháthuyđượcsứcmạnhkhicómạchđiệnhaitrạngthái.Vớihaiconsố0,1 cóthểbiểudiễnmộtsốnguyênbấtkỳ.Mỗikýtự(haymỗitrịsố)của

hệnhịphânđượcgọilàmộtbit(binarydigit).Đốivớimáytínhđiệntửcácbitđượcbiểudiễnbằngmộthiệuđiệnthếtươngứng:mức0(0V-1V),mức1(2v-5v)

Đểgiảntiện trong việcsửdụng số nhịphân, ngườitacòn đặtnhiều bộisốcủa hệnhịphânnhưsau:

4bitlàmộtnibble

8bitlàmộtbyte

16bitlàmộttừ(word)

32bitlàmộttừkép(doubleword)

210bitlàmộtkilobit(Kbit)

220bitlàmộtMegabit(Mbit)

230bitlàmộtGigabit(Gbit)

Vídụbiểudiễnmộtsốnguyên:

Vídụbiểudiễnmộtsốnguyên:

N=2BC1h=2.163+11.162+12.161+1.160=11201d.

Đểđổisố số thập phânra số nhịphânhaythập lụcphân, tachỉcầnchia số thậpphâncho cơsốcủahệ(2hoặc16).Sốdưlàtrịsố,thươngsốđượcchiatiếpđểtínhtrịsốtiếptheo

Trang 13

Trong hệ nhịphân,trịsố đầutiên(ngoài cùngbênphải)được gọilsg LSB(least significantbit)vàtrịsốcuốicùng(ngoàicùngbêntrái)đượcgọilàMSB(mostsignifcantbit).

Dùng7bitđểmãhoá,bitcuốicùnglàbitkiểmtrachẵnlẻ,pháthiệnlỗikhitruyền

Dùngsốnhịphânkhôngdấu:

nbitbiểudiễn2nsốtừ0đến2n-1Dùngsốnhịphâncódấu:

nbitbiểudiễn2nsốtừ-2n-1đến+2n-1-1

Biểu diễn dấu chấm cố định

Cáchbiểu diễndấu chấmcốđịnhtronghệnhịphân hoàntoàngiốngcáchbiểudiễnsốthựcthôngthườngcủahệthậpphân

Trang 14

ĐâylàchuẩnđượcmọihãngchấpnhậnvàđượcdùngtrongbộxửlýtoánhọccủaIntẹl.Bitdấunằmởvịtrícao nhất,kíchthướcphầnmũvà khuôndạngphầnđịnhtrịthayđổitheotừngloạisốthực

GiátrịsốthựcIEEE754-1985đượctínhnhưsau:

1.3 Các loại máy tính cá nhân

Đểđảmbảotínhtươngthích, cấutrúcphầncứngbêntrongcácmáyvitínhcánhânvề

cơbảnlàgiốngnhau.Vìthếchúngchỉđượcphânloạitheohìnhdạngvậtlý

• Loạiđểbàn(desktop),loạiđểbànthunhỏ(desktopslim-line)

• Loạiđặtđứng(tower),mini-tower

• Loạixáchtay(notebook)

• Loạibỏtúi(palmtop,palmpilot)

Kiếntrúcchungcủamáytínhđiệntử

ThiÕt bÞ vµoINPUTDEVICE Bé nhí ngoµi ThiÕt BÞ Ra

Trang 15

MAIN MEMORY

Bộ Số học -logic

Cácđơnvịchứcnăngcơbảncủamáytínhđiệntử(Các đờng vẽ nét đứt chỉ mối quan hệ Các đờng nét liền là đờng truyền dữ liệu)

• Bộ nhớ trung tõm (Central Memoryor Main Memory) Cú nhiệm vụ chứa nhữngchươngtrỡnhvàdữliệutrướckhichươngtrỡnhđượcthựcthi

• Bộđiềukhiển (ControlUnit-CU) Cúnhiệmvụđiềukhiểnsựhoạtđộngcủatấtcảcỏcthànhphầncủahệthốngmỏytớnhtheochươngtrỡnhmànúđượcgiaothihành

CÂU HỎI VÀ BÀI TẬP

1.1.Trỡnhbàyhiểubiếtcủaanhchịvềcỏcgiaiđoạnphỏttriểncủamỏytớnhđiệntử

1.2.Trỡnhbàyvềphõnloạimỏytớnhtheokiếntrỳc

1.3.Đổisố23786d,-17456dsangsốnhịphõnnguyờncúdấu16bớt

1.4.Đổisố3476,0655dsangsốthựcnhịphõn32bớttheochuẩnIEEE754–1995

1.5.Trỡnhbàycấutrỳcchungmộtmỏytớnhđiệntử

Trang 16

• FetchInstructions(chỉlệnhtìmnạp):CPUphảiđọccácchỉlệnhtừbộnhớ.

• InterpretInstructions:chỉlệnhphảiđượcgiảimã đểxácđịnhhànhđộngnào đượcyêucầu

• Fetchdata(dữliệutìmnạp):Sự thihànhmộtchỉlệnhcóthểyêucầuthựchiệnmộtvàithaotácsốhọchoặclôgitrêndữliệu

• WriteData:Nhữngkếtquảcủasựthihànhcóthể yêucầuviếtdữliệu vàobộ nhớhoặcmodulevàora

Thôngthường CPUphảithựchiệncáccông việcnày, nócó thểrõ ràngCPUcầnmộtchỗchứatạmthờiđểchứadữliệu.Nóphảinhớ vịtrícủachỉlệnhsaucùngđếnmứcnócóthểbiếtnơinàochứalệnhtiếptheo Nócầnchứacácchỉlệnhvà dữliệutạmthờitrong khimộtlệnhđượcthựcthi.NóicáchkhácCPUcầnmộtbộnhớtrongnhỏ

DataBUS

AddressBUSSystemBUSHìnhtrênxácđịnhcáckếtnốicủaCPUvớiphầncònlạicủahệthốngthôngquabushệthống Một giaodiện tươngtự có thểcần đếncho tất cáccác cấu trúc kết nối khác.Cácbộphận chínhcủamộtCPU làđơn vịsốhọc và logic(ALU) vàđơn vịđiềukhiển(CU) ALUlàmcôngviệctínhtoánthựcsựhoặcxửlýdữliệu.Đơn vịđiều khiểnCUchuyểndữliệuvà

Trang 17

các chỉlệnh vào và ra khỏiCPU vàđiều khiểncácthao tác củaALU Thêm nữa, hìnhtrêncònmôtảmộtbộnhớtrong,làchỗchứatạmthờigọilàthanhghi(Register)

Hìnhảnh chitiết hơn cấutrúc CPUđượcmô tảởtrang sau Cácđườngtruyềndữliệu

vàcácđườngđiềukhiểnlogicđềuđựơcxácđịnh,baogồmmộtthànhphầngắnnhãninternalCPU bus Thành phần này đựơc yêu cầu chuyển dữ liệu giữa các thanh ghi khác nhau vàALU,từALUthựctếhoạtđộngchỉtrêndữliệutrongbộnhớ trongCPU.HìnhvẽcũngmôtảcácthànhphầncơbảntiêubiểucủaALU.Chúýsựtươngtựgiữacấutrúctrongcủamáytính

và cấu trúctrong củaCPU Trongcả haitrường hợp,cómột sựtập hợp củacácthànhphầnchính (computer:CPU, I/O, bộ nhớ; CPU: CU,ALU, các thanh ghi) được kết nốibằng cácđườngdữliệu

-15

ShifterComplementer

Mộthệthốngmáytínhdùngmộthệthốngcấp bậcbộnhớ.Tạicácmứccaohơn trong

hệthốngcấpbậc,bộnhớnhanhhơn,nhỏ hơn,vàđắt hơn(tínhtheobit) TrongCPU,cótậphợp cácthanhghichức nănglà mức nhớtrên bộnhớ chínhvà bộnhớ cache tronghệthốngcấpbậc.CácthanhghitrongCPUphụcvụ2chứcnăngchính:

Asemblythunhỏbộnhớ chínhbằngtốiưuhoáviệcsửdụngcácthanhghi

khiển CU để điều khiển các thao tác của CPU và bằng phân quyền, các chươngtrìnhđiềukhiểnhệthốngđiềukhiểnsựthựcthicủacácchươngtrìnhkhác

Khôngcósựriêngbiệtrõrànggiữacácthanhghitronghailoạitrên.Vídụtrênmộtsốmáychương trìnhđếm là thanh ghiuser-visible(ví dụ VAX)nhưng trênnhiều máykhác lạikhôngphảivậy.Cho cácmụcđíchsẽ đượcthảo luậndướiđây, chúngtasẽ sửdụng hailoạinày

ThanhghiUser-Visiblelà mộttrongnhữngthànhphầnđượcthamchiếubởicáchthứccủangônngữmáyđượcCPUthihành.ThựcsựtấtcảcácthiếtkếCPUđươngthờicungcấpmộtsố cácthanhghi User-Visibleđốilậpvớimộtthanhghi tổngđơn giản.Chúngta cóthể

môtảđặcđiểmcủachúngtrongcácloạisau:

• Mụcđíchchung

Inter nal CP UBu s

Trang 18

Trongmộtsốtrường hợpcácthanhghimụcđíchchungcóthểđượcdùngcho cácchứcnăngđịachỉhoá(vídụthanhghigiántiếp,dịchchuyển).Trongcáctrườnghợp khác, cómộtphầnhoặcsự phânchiarõ rànggiãthanhghidữliệu vàthanhghiđịa chỉ Cácthanhghidữliệucóthểđược sửdụngchỉđểgiữdữliệuvà khôngthểđượcdùngtrongviệctínhtoáncủa

• Thanh ghi chỉ số: Được dùng trongchế độ địa chỉ chỉ sốvà có thểđược tự độngđánhchỉsố

• Contrỏngănxếp:Nếucóuser-visiblestackaddressing, sau đóngănxếp tiêubiểu

làtrongbộnhớvàcómộtthanhghichỉđếnđầungănxếp.Nóchophépđánhđịachỉtuyệtđối;đó làpush,pop,vàcácchỉlệnhngănxếp kháccầnkhôngchứamộttoánhạngngănxếprõràng

Có rấtnhiều thanhghiCPUkhác nhau đượcsửdụngđểđiềukhiểnthao táccủa CPU.Hầu hết chúngtrên đasố máylà không hữuhình vớingười dùng.Một vàithanh ghicó thểhữu hình với các lệnh máy thực thi trong chế độ điều khiển hoặc trong operating-systemmode Vớicácmáytínhkhácnhau sẽcó tổchứcthanhghi khácnhau và sửdụngthuậtngữkhácnhau

Bốnthanhghilàcốttuỷđốivớisựthihànhlệnh

• ProgramCounter(PC):chứađịachỉcủamộtchỉlệnhđượctìmnạp

• Thanhghilệnh(InstructionRegister):chứachỉlệnhđượctìmnạpgầnnhất

• Thanh ghiđịachỉ bộnhớ (MemoryAddressRegister): chứađịachỉ củacác vịtrítrongbộnhớ

• Thanhghibộnhớđệm(MemoryFufferRegister):chứmộttừdữliệuđượcghivaotrongbộnhớhoặctừđượcđọcgầnđâynhất

Cácvídụcungcấptàiliệuđểnghiêncứuvàsosánhtổchứcthanhghicủacáchệthống

cóthểsosánhđược.Trongphầnnày, chúngtasẽxemxét3bộvixửlý16bitđượcthiếtkếởcùng một thờiđiểm: Zilog Z8000(PEUT79), Intel 8086[MORS78,HEYW83], Và MotorolaMC6800[STRI79]

• 8thanhghichung

• 4thanhghidữliệuAX,BX,CX,DX

Trang 19

 AX:(AccumulatorRegister)thanhghitíchluỹcáckếtquảtínhtoán.

 BX(BaseRegister)thanhghicơ sở:chỉđịachỉcơsởcủavùngnhớthuộcbộnhớ

 CX(Counter Register)thanhghiđếm:Khaibáo sốlần1thaotácnàođóphảiđượcthựchiệntrongcácvònglặp,phépdịch,quay

 DX(DataRegister)thanhghisốliệu:lưutrữsllàmthôngsố chuyểngiaoCT(2byte)

Khicầntruynhậpchỉvới1bytethìbytecaohaythấpđượcnhậndiệnH,L

• SP (Stackpointer)contrỏngănxếp:địachỉ đỉnhngănxếp.SPchophéptruyxuất

dễdàngcácđịachỉtrongđoạnngănxếpSS(stacksegment).GiátrịtrongSPmôtả

Bộnhớđượcchiathànhcácđoạnlogic(segment)dài64kb.CPUcóthểtruynhập1lầntới4đoạn

Địachỉđoạnchứatrongthanhghiđoạn

• Thanhghi đoạnmã CS (code Segment) nhận diện ĐC bắt đầu củađoạn chươngtrìnhhiệnhànhtrongbộnhớ

• DS(dataSegment)đoạnDL:địachỉbắtđầuđoạnsốliệu

• SS(StackSegment)đoạnngănxếp:địachỉlogicđoạnngănxếp

• EX(extraSegment)đoạnmởrộng:Đ/cDLcácchuỗi

9trongsố16bitcủathanhghinàyđượcsửdụng,mỗibitcóthểđượcthiếtlậphayxoá

dểchỉthịkếtquảcủamỗithaotáctrướcđóhoặctrạngtháihiệnthờibộXL

• CFCarry:nhớ

• PFperity:chẵnlẻ

• ZFzero:kếtquảphéptoán=0

• SFsign:0dương,1âm

• OFoverflow:tràn

2.3 Đơn vị số học và logic ALU (Arithmetic and logic unit)

Đơn vịsố họcvàlogic(ALU)làmộtphầncủamáytínhthựcsựthựchiệncácthaotác

số học và logictrêndữ liệu Tấtcả cácthành phầnkhác củahệ thốngmáytính-đơn vịđiềukhiển, thanhghi,bộnhớ,chủyếumangdữliệuvàochoALUđểALUxửlývàsauđóđưakếtquảrangoài

Đơnvịsốhọcvàlogicvàtấtcảcácthànhphầnđiệntửtrongmáytínhđềudựatrênviệc

sử dụngcácthiết bịsố đơn giảncó thểchứa các consố nhị phân, và thựchiệncác thao tácbooleanlogicđơngiản

ALU

Trang 20

Registers Registers

Hìnhtrênchỉratrongmộtgiớihạnchung,ALUđượckếtnốivớiphầncònlạicủaCPUnhưthếnào.DữliệuđượcsẵnsàngchoALUtrongcácthanhghi,vàkếtcủacủamộtthaotácđượcchứatrongcácthanhghikhác Cácthanhghilàchỗ chứatạmthờitrongCPUđượckếtnốibởicácđườngtínhiệutớiALU.ALUsẽđặtcờnhưlàkếtquảcủamộtthaotác.Vídụcótrànđượcđặtlên1 nếukếtquảcủaviệctínhtoánvượtquáchiềudàicủathanhghichứa.Giátrị cờ được chứatrong các thanh ghitrong CPU Đơn vịđiều khiểncung cấp tín hiệu điềukhiểnthaotáccủaALU,vàsựdichuyểndữliệuvàovàrakhỏiALU.(CấutạocủaALUđược

môtảtronghìnhtrangsau)

2.4 Đơn vị điều khiển CU(Control Unit)

NhưđãbiếtcácthànhphầnchứcnăngcơbảncủaCPUlà:

• ĐơnvịsốhọcvàLogic(ALU)

• TậpcácThanhghi

• Cácđườngdữliệutrong

• Cácđườngdữliệungoài

• Đơnvịđiềukhiển(CU)

ALUlàthànhphầnchứcnăngthựcsựcủamáytính,CácthanhghidùngđểchứadữliệutrongCPU,Mộtvàithanhghichứathôngtintrạngtháicầnđểquảnlý chỉlệnhsắp xếpliêntục(vídụtừtrạngtháichươngtrình).NhữngthanhghikhácchứadữliệuđưađếnhoặclấytừALU, bộ nhớ, module vào ra Cácđườngdữ liệu trongđược dùngchuyển dữliệu giữacácthanhghi, giữacácthanhghivàALU.Cácđườngdữliệungoàiliênkếtcácthanhghivớibộnhớvàmodulevào ra.thường bằngphương tiệncủabushệthống Đơnvịđiều khiểntạo racácthaotácxảyratrongCPU

SựthihànhmộtchươngtrìnhbaogồmcácthaotácliênquanđếncácthànhphầnCPU.Như chúng ta đã thấy, các thao tác này bao gồm sự liên tục của các vi thao tác (vi điềukhiển).Tấtcảcácvithaotáclàmộttrongcácloạisau:

• Truyềndữliệutừmộtthanhghiđếnthanhghikhác

• Truyềndữliệutừmộtthanhghiđếnmộtgiaodiệnngoài(vídụsystembus)

Trang 21

• Truyềndữliệutừmộtgiaodiệnngoàitớithanhghi.

• Thựchiệnthaotácsốhọcvàlogic,sửdụngthanhghiđểnhậnvàghidữliệu

Tấtcả các vithao tác cầnthực hiệntrongmột chu kỳchỉ lệnh(bao gồmtất cả cácvithaotácđểthựchiệnmọichỉlệnhtrongtậpchỉlệnh, nằmtrongmộttrongnhữngloạitrên)Đơnvịđiềukhiểnthựchiệnhaicôngtácchính:

• Sự sắp xếp chuỗi (sequencing): Đơn vị điều khiển khiến CPU sắp xếp chuỗi vithao tácvào một chuỗi liêntụcthích hợp,dựa trênchươngtrình đangđược thựchiện

• Sự thihành (Execution):Đơn vịđiều khiểnkhiếnmỗivithaotác đượcthựchiện.Đơnvịđiềukhiểnthaotácdựavàoviệcsửdụngcáctín hiệu điều khiển.

-19

Chúngtađãđịnh nghĩacácthành phầnđãtạoraCPU(ALU, thanhghi, đường dẫndữliệu)vàcácvithaotácđangđượcthựchiện.Đốivớiđơnvịđiềukhiểnđểthựchiệncácchứcnăngcủanó, nóphảicó dữliệuvàocho phépnó xácđịnhtrạngtháicủa hệthốngvà mụcrachophép nóđiềukhiểntácđộngcủahệthống.Cócácchitiếtkỹthuậtngoàicủađơn vịđiềukhiển.Nộitại,đơnvịđiềukhiểnphảicólogícyêucầuthựchiệnchuỗivithaotácvàthihànhcácchứcnăng

Các yêu cầu củaphầnnàylà liênquanvớisựtươngtác giữađơn vịđiều khiểnvàcácthànhphầnkháccủaCPU

InstructionRegister

ControlSignalsWithinCPU

Flag

Clock

ControlUnit ControlSystemSignalsbusFrom

ControlSignalstoSystemBusCáctínhiệucủađơnvịđiềukhiểnđượcthểhiệntronghìnhtrên.Baogồm:

 Tínhiệuvào

 Tínhiệura

a

Các tín hi ệu v ào

- Clock:đâylàcáchđơnvịđiềukhiển“giữthờigian”Đơn vịđiềukhiểntạoramột

vithaotác(hoặcmộttậpcácthaotácđồngthời)đượcthựchiệnvới mỗixungđồng

hồ.Đâylàmộvàilầnnhắcđếnnhưlàchukỳthờigianxửlý, hoặcchukìthờigianđồnghồ

- Thanh ghi ch ỉ lệnh: mã chỉ lệnh hiện tại được dùng để xác định vi thao tác nàođượcthựchiệntrongchukìthihành

- C ờ: Có các yêu cầu bởi đơnvị điều khiểnđể xác địnhtrạng tháicủa CPUvà kếtquả của thao tác ALU trước Ví dụ, đối với chỉ lệnh Increment and skip-if rezo(ISZ),đơnvịđiềukiểnsẽlượnggiaPCnếucờRezođượcđặt

- Các tín hi ệu điều khiển từ bus điều khiển: Khẩu phần bus điều khiển của bus hệthốngcungcấptínhiệuchođơnvịđiềukhiển,nhưlàtínhiệungắtvàsựcôngnhận

Cont rolBu s

Trang 22

Các tín hi ệu ra

- Tín hi ệu điều khiển trong CPU : có 2 loại: Nó khiến dữ liệu bị dichuyển từmột

thanhghitớicácthanhghikhác,vàlàmhoạtđộngcácchứcnăngALUcụthể

- Cáctínhiệuđiềukhiểnđiềukhiểnbus:Cũngcó 2loại:cáctínhiệu điềukhiểnbộ

nhớ,vàtínhiệuđiềukhiểnmodulevàora

Thànhphầnmớiđã được giớithiệu trong hình nàylàtín hiệu điều khiển Ba kiểu tín

hiệuđượcsửdụng:kíchhoạtmộtchứcnăngALU,kíchhoạtcácđườngdữliệu,vàlàcáctín

hiệutrênbushệthốngngoàihoặcgiaodiệnngoài.Tấtcảcácdạngtínhiệunàyđượccungcấp

cuốicùngtrựctiếpnhưcáctínhiệuvàohaycáccổnglogicriêngbiệt

-20

-Chúngta hãyxem xét lại chu kỳtìm nạp đểxemcách đơn vịđiều khiển duytri diều

khiển.Đơn vịđiều khiểngiữdấu vếtnơinólàtrongchu kỳtìm nạp.Tạiđiểmquyđịnh, nó

biếtchukỳtìmnạpđựocthựchiệntiếp Bướcđầu tiênlàdichuyểncác nộidungcủaPC và

MAR Đơn vịđiều khiểndùng nóbằngviệckíchhoạt tínhiệu điều khiểnmởcáccổng giữa

cácbitcủaPCvàcácbitcủaMAR.Bướctiếptheo làđọcmộttừtrongbộ nhớvào MBRvà

gialượngPC.Đơnvịđiềukhiểnlàmviệcnàybằngvệcgửicáctínhiệukèmtheođồngthời

• MộttínhiệuđiềukhiểnmởcáccổngchophépnộidungcủaMARđưavàobusđịa

chỉ

• Bộnhớđọctínhiệuđiềukhiểntrênbusđiềukhiển

• Một tínhiệu điều khiểncáccổngcho phép nộidungbusdữliệu được chứatrong

MBR

• Cáctínhiệu điềukhiểnthêmmộtvào nộidungcủaPCvàchứakếtquảtrởlạicho

PC

Theo đó,đơn vịđiều khiển gửitín hiệu điều khiểnmở các cổng giữaMBR (Memory

bufferregister)vàIR(InstructionRegister)

Cácchứcnăngchínhcủađơnvịđiềukhiểnnày:

thinCPU

Trang 23

Bus

Đểthựchiệnmộtlệnh,đơnvịlogictuầntựđưaramộtlệnhđọctớibộnhớđiềukhiển

• Từmàđịachỉđượcxácđịnhtrongthanhghiđịachỉđiềukhiểnđượcđọcvàothanhghibộđệmđiềukhiển

• Nộidungcủathanhghibộđệmđiều khiểnphátratínhiệuđiều khiểnvàthongtinđịachỉtiếptheochođơnvịlôgictuầntự

• ĐơnvịlogictuầntựtảiđịachỉmớivàotrongthanhghiđịachỉđiềukhiểndựavàothôngtinđịachỉtiếptheotừthanhghibộđệmđiềukhiểnvàcáccờALU

Tấtcảxảyratrongmộtxungđồnghồ

Từsựpháttriển củacác máytính chứachươngtrìnhđầu tiên nhữngnăm 1950, đãcómộtsốsựcáchtânthựcsựrõrệttrongcáckhuvựccủatổchứcmáytính.Sauđâykhôngphải

làmộtdanhsáchhoànchỉnh,màchỉlàmộtvàitiếnbộchínhkểtừngàysinhcủamáytính

-21

tiếp theo ngaysau đó là DEC vớiPDP-S.Khái niệm gia đình táchriêngkiến trúccủamáytừsựthihànhcủanó.Mộtậphợp cácmáytínhđượcđềnghị,vớisựkhácnhau giữa đặc trưng giá/tính năng đưa ra cùng một kiến trúc cho người dùng.Sựkhácnhautronggiávàhiệusuấtlàbởitạisựthihànhkhácnhaucủacùngmộtkiếntrúc

xuất bởi Wikes năm 1951, và được giới thiệu bới IBM trên hệ thống S/360 linetrongnăm 1964.Lập trình vichương trìnhlàmgiảm bớt côngtác thiếtkế vàthựchiệnđơnvịđiềukhiểnvàhỗtrợchofamilyconcept

Bộ nhớ Cache (cache Memory): Đầu tiên được giớithiệu rộng rãi trên hệ thốngIBM S/360Model85 năm1968.Sự thêmvào thànhphầnnàytrong hệthốngphâncấpbộnhớcảithiệnrõrệthiệusuất

chươngtrìnhchỉlệnhmáy.Cácvídụlàốngdẫnchỉlệnhvàxửlývector

Nhưsựtiến hoácủacác hệthốngmáytính,hiệu suấtcao hơncó thểđượcđạtđượcbởiviệcnắmbắtcáctiếnbộ củasựpháttriểncôngnghệ.Hơn nữa,sựcảitiểntổchứccủaCPUcóthểlàmtănghiệusuất.Chúngtađãcómộtsốvídụvínhưsử dụngcácthanh ghibộihon làsử dụngmột thanhghi chứađơn,và sửdụng bộ nhớ cache Một phương pháp tổ chức khác rất thông dụng làInstructionPipe.(Cònthiếu)

Ống dẫn chỉ lệnh tương tự việc sử dụng một dây chuyền trong kế hoạch sảnxuất Một dâychuyềntạo ra các thuận lợitrong thực tế một sản phẩm điquanhiều trạngthái khác nhau củaquá trình sảnxuất Bằngcách bố trí tiếntrìnhsảnxuấttrongmột dâytruyền, các sảnphẩmởnhữngtrạngthái khác nhaucóthểđượclàmđồngthời.Tiếntrìnhnàycũngđượcquycholàpipelining,Bởivìnhưtrongmộtốngdẫn,mộtsảnphẩm vàomớiđượcchấpnhậnởmộtđầucuốitrước cácsảnphẩmvàođượcchấpnhậntrướcđóxuấthiệnnhưsảnphẩmraởđầucuốikhác

2.5 Cấu trúc kết nối - BUS

Trang 24

Mộtmáytínhbao gồmcácbộ phậnhaycácđơn vịcủa bathànhphầnchính:CPU, hệthống nhớ, thiết bị vào ra, được liên lạc với nhau Về thực chất máytính được coi là mộtmạngcủacácđơn vịcơbản.Hơnnữacầnphảicócácđườngđểkếtnốicácđơn vịvớinhau.TậphợpcácđườngkếtnốicácđơnvịđượcgọilàInterconnectionStructure.

CấutrúckếtnốithôngdụngnhấtđượcsửdụngtrongmáytínhlàBUS

BUSlàtậphợpcácđườngdâykếtnốihaihaynhiềuthiếtbịvới nhau.RấtnhiềuthiếtbịkếtnốivớiBUS, mộttínhiệuđượctruyềnđitừbấtkì mộtthíêtbị nàocũngcó thểđượcgửiđếntấtcảcácthiếtbịkếtnốivớiBUS.Nếucóhaithiếtbịcùngtruyềndữliệuđồngthờitrongmộtthờiđiểm,nhữngtínhiệunàysẽgốilênnhauvàsẽbịsailạc,nhưvậychỉmộtthiếtbịcóthểtruyềndữliệuthànhcôngtrongmộtthờiđiểm

Trong nhiều trường hợp, BUS thực sự gồm nhiều đường liên lạc, mỗi đường có khảnăngtruyềncáctínhiệumôtảcácgiátrịnhịphân0,1.Cácsốnhịphânđượctruyềnliêntụcthôngquamộtđường,mộtsốđườngcủaBUStruyềncácbitnhịphânđồngthời(kếtnốisongsong)

Mộthệthốngmáytínhchứađựngmộtsố loạiBUSkhácnhau tuỳthuộccácđườngkếtnốigiữacácbộphậnởcácmứckhácnhaucủahệ thống.BUS kếtnốicácbộphậnchínhcủamáygọilàBUShệthống

-22

-BUS hệthốngbao gồm từ50đến100 đường truyềnriêngbiệt, mỗiđườngđượcphânchiamộtchứcnăng haymộtý nghĩariêngbiệt Mặcdùcó rấtnhiều cáchthíêt kếBUS khácnhau,nhưngtrênbấtkỳcáchnàocácđườngBUScũngphânloạithànhbanhómchính:BUS

dữliệu, BUSđịachỉ,BUSđiềukhiển, ngoàiracóthểcómộtsốđườngcungcấpnănglượngchocácmodulethamgiaBUS

16 hay32 đường,số đườngđược coilàđộrộng củaBUS dữliệu Mỗiđườngchỉcóthểmangmộtbitdữliệutạimột thờiđiểm, số lượngđườngxácđịnhsố lượngbitcóthểđượctruyềntrongmộtthờiđiểm

Địachỉthườnglàđịachỉcáccổngvào/ra,từnhớtrongngănnhớ

liệu.Cácđườngdữliệuvàđịachỉđượcchiasẻchotấtcảcácbộphận,phảicósựđiềukhiểnviệc sửdụngcácđườngđó.Cáctínhiệu điềukhiểntruyềncả lệnhvàthôngtinthờigian giữacácmodule hệthống Tínhiệuthờigianchỉranhữngthôngtinvề địachỉvàdữliệuhợplệ.Cáctínhiệulệnhđịnhrãthaotácđượcthựchiện

địachỉ

• BUSđồngbộ:đượcđiềukhiểnbởinhịpđồnghồvớichukìnhấtđịnh.Hoạtđộngcủa

vixửlýđòihỏithờigianlàbộisốcủachukìmáy

Trang 25

• BUS khôngđồng bộ:không hoạt độngtheo xung đồng hồ nhất định, khi truyềntínhiệuthiếtbịtruyềnpháttínhiệuMSYNbáochothiếtbịnhậnchạynhanhnhấtcóthể,sauđókhihoànthànhthiếtbịnhậnphátlạitínhiệuSSYN.

 Mãlệnh:chứcnăngcủathaotác

Chươngtrìnhđưavàobộnhớcho máythựchiệntheonhiềudạng,dạngcơbảnnhấtmàmáycóthể hiểungayđượcgọi làngônngữmáy TuỳtheoCPUmà ngônngữmáycódạngnhấtđịnh, chươngtrìnhviếtbằngngônngữmáythựchiệnrấtnhanhvàchiếmítchỗ trongbộnhớ,tuynhiênchươngtrìnhkhóviếtvàkhónhớ

Ngônngữ giúplập trình viênviết chươngtrìnhđẽ dàng hơn, thaycho ngôn ngữmáy.Mộtlệnhcủahợpngữtươngđươngnhưmộtlệnhcủangônngữmáynhưngthayviếtchươngtrìnhdướidạngnhịphânsẽdùngkíhiệutượngtrưng

Đểbiểu diễn các nhóm lệnhCPU, dùngtập lệnhHợp ngữdùngcho VXL8086 Intel

hoặctrựctiếp1sốvào1thanhghihayônhớ

Cúpháp:

Cúpháp:

Chúý:1lệnhtrênkhônghợplệkhicảđíchvànguồnlàcácônhớ

Trang 26

Lệnh LEA (load effective address): nạpđịachỉthực(hiệudụng)

Hàm 9hcủa ngắt21h yêu cầu địa chỉtương đốicủa chuỗikí tự chứa trongDX,thựchiệnđiềunàydùnglệnhLEA

Cúpháp:

Trang 27

LEA đích,nguồn

Đích:thanhghicôngdụngchungNguồn:ônhớ

b Nhóm lệnh vào/ra

CPUliênlạcvới cácthiếtbịngoạiviquacácthanhghivào/rahaycáccổngvào/ra Có

2lệnhtruynhậptrựctiếpcáccổngđólàlệnhINvàOUT,tuynhiênítsửdụng

A LF(linefeed) Xuốngdòng

D CR(carryreturn) Xuốngdòng,vềđầudòng

TaxemxétcácngắtcủaDOS:

khiểnvềchoDOS(dùngtrongchươngtrìnhđuôi.COM)

Ng ắt 22h -26h: các phục vụ quản lý CTRL + BREAK, các lỗi nghiêm trọng vàtruynhậptrựctiếpđĩa

Ng ắt 27h:kếtthúcchươngtrìnhvàởlạithườngtrú

Ng ắt 21h:gọicáchàm:

Hàm0h:kếtthúcchươngtrìnhHàm1h:vàotừbànphím:đợiđọc1kýtựtừthiếtbịvàochuẩnsauđóđưakí

tựđótớithiếtbịravàtrảvềmãASCIIcủadữliệutrongDL

Trang 28

* Chỉ thị ADD (add) và SUB (subtract): Đượcsửdụngđểcộnghoặctrừnộidungcủa2

thanhghi,1thanhghivà1ônhớhoặccộngtrừ1sốvàothanhghihay1ônhớ

dung1thanhghihayônhớ

INC WORD; WORDnhậngiátrịWORD+1

nộidungbởiphầnbù2

Cúpháp:

Toánhạngđíchcóthểlà1thanhghihayônhớ

xét cácsố có dấuvà khôngdấu thì kếtqủathực hiệnphéptoán làkhác nhau, vớicác sốcó

dấutadùnglệnhIMUL,cácsốkhôngdấutadùnglệnhMUL

Cúpháp:

Khinhâncác bytevớinhau, 1 sốđược chứatrongtoánhạng nguồn, số cònlạiđược

giảthiếtđãchứatrongAL.Toánhạngnguồncóthểlà1thanhghihayônhớ

dấuvàkhôngdấuthìkếtqủathựchiệnphéptoánlàkhácnhau,vớicácsốcódấutadùnglệnhIDIV,cácsốkhôngdấutadùnglệnhDIV

Cúpháp:

 Dạngbyte:số chia làthanhghi hayô nhớ 1byte, sốbị chia:16bit được giả

địnhchứatrongAXthương8bitchứatrongAL,sốdư8bittrongAH

 Dạngword:số chia 16bit, sốbịchia giảđịnhchứatrongDX:AX, thương16

bitchứatrongAX,sốdư16bittrongDX

Trang 29

Lệnh OR: thiết lậpcác bitxác địnhcủatoánhạngđíchkhivẫn giữnguyêncácbitcònlại,cácbitcầnthiếtlậpđượcORvới1

 ĐổimãASCIIcủa1sốthànhsốtươngứng:khiđọc1kítựtừbànphím,AL

giátrịthậpphântươngứng

 Xoá1thanhghi:

khônglàmthayđổitoánhạngđíchmàchỉthiếtlậpcờ

SF,ZF,PF:phảnánhkếtquảAF:khôngxácđịnh

Trang 30

Lệnh dịch: cácbitbịdịchrakhỏitoánhạngsẽbịmất

bênkiaquay1vịtrí

-Nphépdịchtráisẽđượcthựchiện

CóthểdùnglệnhSHLđểthựchiệnphépnhânnhịphân

Nphépdịchphảisẽđượcthựchiện

CóthểdùnglệnhSHRđểthựchiệnphépchianhịphân

Nphépquayphảisẽđượcthựchiện

Vídụ: đếmsốbit1cótrongthanhghiBXmàkhônglàmthayđổinộidungBX, kếtquảlưutrongAX

Trang 31

MOV CX,16;biếnđếmvònglặpTop:

JNC Next;bit0?

INC AX;không,tăngbiếnđếmkếtquảNext:

LOOP Top;quaylại

Dịchcác bít củatoánhạng đíchsang trái Bit MSB đượcđặt vào CF, giá trịcủa CF

đượcđưavàobitphảinhất(LSB)củatoánhạngđích

JG/JNLE Nhảy nếu lớn hơn, nhảy nếu không nhỏ hơn h

aybằng (Jump if Greate, Jump if Not Less than

ZF=0vàSF=0

JGE/JNL Nhảy nếu lớn hơn hay bằng, nhảy nếu không nh

SF=OFJL/JNGE Nhảy nếu nhỏ hơn, nhảy nếu không lớn hơn h

ay

SF<>OFJLE/JNG Nhảynếu nhỏ hơn hoặc bằng, nhảynếu không l

ớn

ZF=1haySF=OF

JA/JNBE Nhảy nếu lớnhơn, nhảy nếu không nhỏ hơn ho

ặc

CF=0vàZF=0JAE/JNB/JNC Nhảynếukhôngnhớ(NoCarry) CF=0

JE/JZ Nhảynếukếtquảbằngnhau,nhảynếukếtquảbằ

ng

ZF=1JNE/JNZ Nhảynếukhôngbằngnhau,nếukếtquảkhác0 ZF=0

L

Dịchcácbítcủatoánhạngđíchsangphải.BitLMSBđượcđặtvàoCF,giátrịcủaCF

đượcđưavàobitphảinhất(LSB)củatoánhạngđích

Vídụ:đảocácbittrong1bytehay1word

MOV CX,8;sốlầnlặpEverse:

SHL AL,1;lấy1bitvàoCFRCR BL,1;quay,đưavàoBLLOOP Reverse

Trang 32

-MOV AL,BL;đưavàoAL

e.

Các l ệnh điều khiển rẽ nhánh

Chophépchọnlựavàlặplạicácđoạnmãlệnh

* Các lệnh nhảy có điều kiện

Cúpháp:

Nếuđiềukiệncủalệnhnhảythoảmãn,lệnhcónhãnđíchsẽđượcthựchiện.Lệnhnày

cóthểởtrướchoặcsaulệnhnhảy.Nếuđiềukiệnkhôngthoảlệnhngay saulệnhnhảyđượcthựchiện

Phạmvicủalệnhnhảycóđiềukiện:

Nhãnđíchphảiđứngtrướclệnhnhảykhôngquá126bytehoặcđứngsaulệnhnhảykhôngquá127byte

CPU thực hiện 1 lệnh nhảy ntn?

 CPUdựavàothanhghicờđểđiềuchỉnhIPchỉđếnnhãnđích

JP/JPE Nhảy nếu chẵn (Jump if Parity, Jump if Parit

y

PF=1JNP/JPO Nhảynếulẻ(JumpifParityOdd) PF=0

CácđiềukiệnnhảythườngđượccungcấpbởilệnhCMP

Trang 33

Mỗi lầnthực hiện LOOP thanh ghi CX tự động giảm đi 1, và nếu CX<>0 thì điềukhiểnđược chuyểntớinhãn đích Nếu CX=0 thì lệnh tiếp theo LOOP sẽ được thựchiện

Sửdụng:Nhãnlệnh,tênthủtục,tênbiến

Chươngtrìnhbiêndịchchuyểncáctênthànhđịachỉbộnhớ

 Độdài:1đến31kítự(khôngchứadấucách)

 Khôngbắtđầubởichữsố

 Khôngphânbiệtchữhoa,chữthường

 Nếucódấuchấm(.)phảiđặtởđầu

Toántử

Trang 34

 Toántửchứamãlệnhdạngtượngtrưng

 Mãlệnh:chứcnăngcủathaotác

 Dẫn hướngbiên dịch:toán tửchứa toán tử giả(pseudo_op), các toán tử giảnày không được dịch sang mã máy mà chỉ báo cho chương trình dịch làmviệcgìđó

 Sốhexa:kếtthúcbằngHhoặch,bắtđầubằngchữsốthậpphân

Cáckýtự:baotrongdấunháykép“”

Cáctoántửgiảđịnhnghĩasốliệu

DB byte

DW word(2byte)

DD doubleword(2word)

DQ quardword(4word)

DT 10byteliêntiếp

b Các biến

Mỗibiếncómộtkiểudữliệuvàđượcchươngtrìnhgánchomộtđịachỉbộnhớ

BiếnkiểuByte

Địnhnghĩa:

Vídụ:

Giớihạnthậpphâncủacácgiátrịkhởitạo:-128đến127hoặc0đến255

Nếudùngdấu?thìbiếnkhôngđượckhởitạo

BiếnkiểuWord

Phầntửđầutiêncủamảngchínhlàtênmảng

 Mảngbyte:tên+1làphầntửtiếptheo

 Mảngword:tên+1làphầntửtiếptheo

vídụ:

ARRAY DB 4h,5h,6h

Trang 35

vídụ:

bytethấp:WORD,nộidung:34hbytecao:WORD+1,nộidung:12hChuỗikítự

CóthểđượckhởitạobằngbảngmãASCII

 Kíchthướctốiđacủatệplà64K

 Thựchiệnnhanhhơntệp.EXE

 DOS khởitạo vùng nhớ256byte offset:0000hgọilàvùng nhớPSP(ProgramSegmentPrefix)

 Địnhvịtệptinvàovùngnhớvớioffset100h

 CácthanhghiđoạnCS,DS,ES,SStrỏtớiPSP

 IPđượcgángiátrị100h

 SPđượcgángiátrịFFFEh

Trang 36

 Chươngtrìnhcó thểkhaibáo nhiều đoạnkhác nhau,mỗichươngtrìnhcó thể

cónhiềuđoạnchươngtrình,nhiềuđoạndữliệu

 Cóthểgọichươngtrìnhcon

 Kíchthướccủatệptuỳývàlớnhơn64K

 DOS khởitạo vùng nhớ256byte offset:0000hgọilàvùng nhớPSP(ProgramSegmentPrefix)

 NạpHeadercủatệpsauPSP

 Các thanh ghi đoạn CS, IP được xác định từ Header là địa chỉ bắt đầu củachươngtrình

C

.STACK DATA

Trang 37

 TINY:mãvàdữliệunằmtrongphạmvi1đoạn

 SMALL:mãnằmtrongphạmviđoạn64K,dữliệunằmtrongđoạnkhác

 MEDIUM:mãnằmtrongđoạn>64K,dữliệunằmtrongđoạn64K

 COMPACT: mã nằm trong phạm vi đoạn 64K, và dữ liệu nằm trong đoạn

>64K

 LARGE:mãvàdữliệunằmtrongđoạn>64K,nhưngmộtmảngdữliệu<64K

 HUGE:mãvàdữliệunằmtrongđoạn>64K,mảngdữliệu>64K

.STACK:kíchthướcStackkhicóchươngtrìnhcon

 QuiđịnhkíchthướcStacklà512byte(100h)

 Mặcđịnh:1K

.CODE:điểmbắtđầuđoạnmãchươngtrình

.DATA:điểmbắtđầuđoạndữliệu

.MAIN PROC

;thân chương trình END MAIN

f Tạo lập và chạy một chương trình

o Dùngcácphầnmềmsoạnthảovănbản(SK, NC ) đểtạolậptệp vănbảnchươngtrìnhgốcbằnghợpngữ,đuôitệplàASM

o Dùng chương trình dịch MASM (Microsoft Macro Assembly) hoặcTASM(Turbo )đểdịchtệp.ASMramãmáydướidạngtệp.OBJ(Object)

o Dùng chương trình LINK hoặc TLINK để kết nối các OBJ lại với nhau thànhchươngtrình.EXE

o Nếu chương trìnhviết rađể dịchra kiểu COM thì dùng chương trình EXE2BINcủaDOSđểdịchtiếptừ.EXEsang.COM

o Chạychươngtrình

Vídụ:viếtchươngtrìnhđưaramànhìnhlờichào“Hello”

Chếđộđịachỉdùngđểxácđịnhtoánhạng,baogồm:

 Chếđộđịachỉthanhghi:toánhạnglàthanhghi

 Chếđộđịachỉtứcthì:toánhạnglàhằngsố

 Chếđộđịachỉtrựctiếp:toánhạnglàbiếnnhớ

-34

-Ch

Địa chỉ offsetcủa toán hạng được chứa trongmột thanh ghi, thanhghi đóngvai trònhưmộtcontrỏtrỏđếncácônhớ

Khuôndạngtoánhạng:[thanhghi]

ThanhghicóthểlàBX,DI,SIhayBP vớicácthanhghiBX,DI,SIsốhiệuđoạncủatoánhạngchứatrongDS,vớithanhghiBPsốhiệuđoạnchứatrongSS

Trang 38

XOR AX,AXLEA SI,WTong:

ADD AX,[SI]

ADD SI,2LOOP Tong

Ch

Trong các chếđộ địachỉ nàyđịa chỉoffset củacác toán hạng nhận được bằngcáchcộng1 sốđược gọilàđộdịchvới nộidungcủa1thanhghi Trongđóđộdịchcóthểlà:

 Địachỉoffsetcủa1biến

CácthanhghiphảilàBX,SI,DIhayBP

 DùngBX,SIhayDIthìsốhiệuđoạnchứatrongDS

 DùngBPthìsốhiệuđoạnchứatrongSS

Chếđộđịachỉđuợc gọilàcơ sởnếu dùngBXhayBP,gọilàchỉsốnếudùngSIhayDI

Movax,[alpha+bx] Alpha+2 0456h

trongđoạnđánhđịachỉbởiDS

BXchứa2,offset0002chứa1084h

SIchứa4,offset0004chứa2BACh

DIchứa1

Trang 39

CÂU HỎI VÀ BÀI TẬP

2.1 Trình bày kiến trúc chung của máy tính theo nguyên lý VonNewman? Nêuchứcnăngtừngđơnvị?Phânloạimáytínhtheokiếntrúc?

2.2Trình bàysơđồ cấutrúc, chứcnăngnhiệm vụcủabộxửlýtrungtâm(Nêurõ chứcnăngcủatừngđơnvị)

2.3.Trìnhbàytổchứcthanhghitrongvixửlý8086?

2.4.TrìnhbàychứcnăngnhiệmvụcấutạocủađơnvịsốhọcvàlogicALU?

2.5.Cácloạitínhiệuđiềukhiểncủađơnvịxửlýtrungtâm(Vẽsơđồgiảithích)?

2.6.Trìnhbàysơ đồcấutrúc,chứcnăngnhiệmvụcủađơnvịđiềukhiểnvichươngtrình?2.7.TrìnhbàykháiniệmvềBUS?PhânloạiBUS

-36

-Chương III: HỆ THỐNG NHỚ

3.1 Khái quát về hệ thống nhớ

• Vịtrí:

 BêntrongCPU(register)

 Internalmemory(mainmemory)

 Bộnhớngoài(đĩacứng,đĩaquang)

Vớicáclệnh

Trang 40

 Khối(block)làđơnvịtruyềndữliệu lớnhơntừnhớ,thườngđượcdụngtruyền

dữliệuvớibộnhớngoài

• Phươngpháptruynhập

trựctiếpbaohàmviệcchiasẻđọcviếtcơkhí.Nhữngtừnhớcủabảnghicóđịachỉ cơ sở duynhấttrênvịtrí vật lý Việctruynhập được hoànthànhbởitruynhập trựctiếp là điđến vùng lân cận chung cộng với tìm kiếm tuầntự, đếmhoặc đợiđểđiđến vịtrícuối cùng.Thời giantruynhập có thể thayđổiđược.Cácloạiđĩasửdụngphươngpháptruynhậptrựctiếp

nhất.Thờigiantruynhậpcácvịtríđãcho làđộclậpvớidãytruynhậpưutiên

vàlàhằngsố.Nhưvậy,vịtrínàocũngcóthểđượcchọnngẫunhiên,vàđịachỉtrựctiếp.Bộnhớchínhlàtruynhậpngẫunhiên

Truy nh ập li ên k ết: đâylàkiểu truynhập ngẫu nhiêncó thể làmsựso sánhvịtríbíttrongtừchomộtphéptoáncụthểvàlàmviệcnàychotấtcảcáctừđồngthời Vìvậymộttừđựơc tìmlạiđược dựavàochính nộidungcủa nóthayvìđịachỉcủanó.Vớitruynhậpngẫunhiênthôngthường,mỗivịtrícóđịachỉcơkhí củamình,vàthờigiantìmlà hằngsố độclậpvới vịtríhaymẫu hìnhtruynhậpưutiên.Bộnhớcachedùngcáchtruynhậpnày

• Sự thi hành

gianđểthựchiệnhoạtđộngđọcghi.Đólàthờigiantừkhiđịachỉđãsẵnsàngtrongbộnhớđếnkhidữliệuđượccấttrữhoặcđượclàmcóthểsửdụngđược.Đốivớtruynhậpkhôngphảilàngẫunhiênthờigiantruynhậplàthờigianđưa

vịtríđọcviếtcơkhíđếnvịtrímongmuốn

Ngày đăng: 23/10/2014, 00:21

HÌNH ẢNH LIÊN QUAN

Hình thức và tiêu chuẩn đánh giá sinh viên: - giáo trình kiến trúc máy tính
Hình th ức và tiêu chuẩn đánh giá sinh viên: (Trang 7)
Hình ảnh chi tiết hơn cấu trúc CPU được mô tả ở trang sau. Các đường truyền dữ liệu và các đường điều khiển logic đều đựơc xác định, bao gồm một thành phần gắn nhãn internal CPU bus - giáo trình kiến trúc máy tính
nh ảnh chi tiết hơn cấu trúc CPU được mô tả ở trang sau. Các đường truyền dữ liệu và các đường điều khiển logic đều đựơc xác định, bao gồm một thành phần gắn nhãn internal CPU bus (Trang 17)
Hình trên chỉ ra trong một giới hạn chung, ALU được kết nối với phần còn lại của CPU như thế nào - giáo trình kiến trúc máy tính
Hình tr ên chỉ ra trong một giới hạn chung, ALU được kết nối với phần còn lại của CPU như thế nào (Trang 20)
Sơ đồ mạch giải mã: - giáo trình kiến trúc máy tính
Sơ đồ m ạch giải mã: (Trang 53)
Sơ đồ mạch giải mã LS138 - giáo trình kiến trúc máy tính
Sơ đồ m ạch giải mã LS138 (Trang 54)
Bảng chọn thanh ghi trong 8255A Từ điều khiển định nghĩa cấu hình - giáo trình kiến trúc máy tính
Bảng ch ọn thanh ghi trong 8255A Từ điều khiển định nghĩa cấu hình (Trang 58)
Bảng véctơ ngắt của 8088 tại 1 KB RAM đầu tiên được chỉ ra như hình dưới đây: - giáo trình kiến trúc máy tính
Bảng v éctơ ngắt của 8088 tại 1 KB RAM đầu tiên được chỉ ra như hình dưới đây: (Trang 63)
6.2.3. Sơ đồ ghép nối và hoạt động: - giáo trình kiến trúc máy tính
6.2.3. Sơ đồ ghép nối và hoạt động: (Trang 73)
Bảng tốc độ baud ứng với xung nhịp 1,8432 MHz - giáo trình kiến trúc máy tính
Bảng t ốc độ baud ứng với xung nhịp 1,8432 MHz (Trang 91)
Bảng trên liệt kê các mức ưu tiên của từng ngắt. Cột đặt lại ngắt liệt kê tác động nào là cần đến để đặt lại ngắt đã được chốt. - giáo trình kiến trúc máy tính
Bảng tr ên liệt kê các mức ưu tiên của từng ngắt. Cột đặt lại ngắt liệt kê tác động nào là cần đến để đặt lại ngắt đã được chốt (Trang 94)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w