kiến trúc máy tính Vũ Đức Lung phần 9
lượt xem 22
download
Tham khảo tài liệu 'kiến trúc máy tính vũ đức lung phần 9', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: kiến trúc máy tính Vũ Đức Lung phần 9
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý ð làm ñư c các vi c như v y ñòi h i CPU c n lưu m t s d li u t m th i. Nó ph i nh v trí c a l nh v a th c hi n cũng Chương VII: T CH C B X LÝ như nó c n ph i bi t ñư c ñâu có th nh n ñư c l nh ti p theo ñ th c hi n. Nó c n lưu t p l nh và d li u t m th i trong khi th c thi m t l nh nào ñó. Nói cách khác CPU c n m t b nh trong nh ñ Trong các chương trư c chúng ta ñã các khái ni m cơ b n ti n l i làm vi c. liên quan ñ n các ph n khác nhau c a máy tính. Trong chương này Nói chung ñ th c hi n các vi c v a li t kê trên, m t b chúng ta t p trung vào b ph n chính y u c a m i máy tính – b x lý trung tâm ñơn gi n c n bao g m ba nguyên t quan tr ng x lý trung tâm (central processing unit - CPU). Ch c năng chính nh t: t p các thanh ghi, m t b x lý logic s h c (Arithmetic y u c a CPU là th c thi các l nh ñư c lưu trong b nh chính. Như Logic Unit - ALU) và m t b ñi u khi n (Control Unit - CU). T ñã ñ c p trong ph n gi i thi u, do giáo trình này ñư c thi t k ch c m t máy tính ñơn gi n g m CPU và tương tác c a nó v i b dành cho sinh viên h c ngay h c kỳ ñ u tiên cho nên chúng ta ch nh chính và các thi t b nh p xu t có th bi u di n như hình 7.1. ñ c p ñ n các v n ñ m c ñ ñơn gi n. 7.1. T ch c b x lý trung tâm ð hi u ñư c cách t ch c trong CPU như th nào chúng ta hãy xem nh ng ñòi h i bên trong nó và nh ng gì nó ph i th c hi n. Nói chung nh ng công vi c nó ph i làm là: - Tìm n p l nh (Fetch Instruction): CPU ñ c m t l nh t b nh - Di n gi i l nh (Interpret Instruction): L nh ñư c gi i mã và xác ñ nh xem hành ñ ng gì ñòi h i th c hi n - Tìm n p d li u (Fetch data): ð th c hi n câu l nh có th ñòi h i ñ c d li u t b nh ho c t các thi t b nh p xu t - X lý d li u (Process data): Vi c thi hành l nh có th ñòi h i th c hi n m t vài phép tính s h c hay logic trên các d li u tìm n p vào Hình 7.1. T ch c m t máy tính ñơn gi n - Ghi d li u (Write data): K t qu th c thi l nh cũng có B các thanh ghi c a các lo i máy tính là khác nhau và th ñòi h i ph i ghi d li u vào b nh ho c ghi ra các thư ng chia làm hai lo i, các thanh ghi ñư c dùng v i m c ñích thi t b nh p xu t. chung (general-purpose registers), và các thanh ghi v i m c ñích ñ c bi t (special-purpose registers). Các thanh ghi m c ñích chung 218 219
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý ñư c s d ng cho b t kỳ m c ñích nào, ví d như có th dùng nó làm nơi lưu tr các lo i d li u khác nhau, dùng làm lưu các toán h ng c a m t l nh. Trong khi các thanh ghi v i m c ñích ñ c bi t ch có m t s ch c năng bên trong CPU, ví d như b ñ m chương trình (progam counter - PC) là m t thanh ghi v i m c ñích ñ c bi t ñó là ch dùng ñ lưu ñ a ch c a l nh c n th c hi n ti p theo. M t ví d khác c a thanh ghi v i m c ñích ñ c bi t là thanh ghi mã l nh (Instruction Registers – IR), thanh ghi này ch ñư c dùng ñ lưu mã l nh ñang th c hi n t i th i ñi m hi n t i. B logic s h c ALU cung c p m t m ch s c n thi t ñ th c hi n các phép tính s h c (như c ng, tr , nhân , chia), logic (như NOT, AND, OR) và các phép toán d ch chuy n trong b l nh. B ñi u khi n (control block) ch u trách nhi m ñi u khi n m i ho t ñ ng c a CPU như tìm n p l nh t b nh chính, gi i mã nó, ñ nh lo i xem nó thu c lo i nào và cuôi cùng là ra l nh cho các b ph n trong CPU làm vi c gì. CPU tìm n p l nh t b nh chính, ñ c d li u t b nh Hình 7.2. C u trúc bên trong c a CPU chính, ghi d li u ngư c l i ñó khi c n và truy n các d li u t các thi t b ngo i vi vào máy tính cũng như ñưa các d li u trong máy tính ra các thi t b ngo i vi. Các thi t b ngo i vi ñây có th là 7.2. B ñi u khi n ñã c ng, máy in, flash memory,… Gi ng như trong m t trung ñ i thì m i ho t ñ ng ñư c ñi u Trong hình 7.2 cho ta sơ ñ t ng quát c a CPU m t cách t khi n b i trung ñ i trư ng, b ñi u khi n ch u trách nhi m ñi u m hơn. Trong ñó ch ra vi c truy n d li u và ñư ng ñi u khi n khi n m i ho t ñ ng c a CPU. B ñi u khi n t o các tín hi u ñi u logic cũng ñư c ch ra bao g m c m t nguyên t g i là tr c CPU khi n di chuy n s li u (tín hi u di chuy n s li u t các thanh ghi n i (Internal CPU bus). Nguyên t này ñư c c n ñ truy n d li u ñ n bus ho c tín hi u vi t vào các thanh ghi), ñi u khi n các tác v gi a các thanh ghi khác nhau và ALU, b i vì trên th c t thì ALU mà các b ph n ch c năng ph i làm (ñi u khi n ALU, ñi u khi n th c thi ch trên các d li u n m b nh bên trong CPU. ñ c và vi t vào b nh trong...). B ñi u khi n cũng t o các tín hi u giúp các l nh ñư c th c hi n m t cách tu n t . ð thi t k m t b ñi u khi n, ta có th dùng m t trong hai cách là dùng m ch ñi n t ho c dùng vi chương trình (microprogram). 220 221
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý Hình 7.3. cho ta sơ ñ kh i m t b ñi u khi n cơ b n. L nh B ñi u khi n m ch ñi n t ñư c ñ c t b nh và ñưa vào thanh ghi l nh IR. Thanh ghi l nh Trong chương 5 chúng ta ñã h c v m ch tu n t . M t b thì như trong chương 6 chúng ta ñã bi t, trong ñó có ph n mã hóa ñi u khi n m ch ñi n t có nguyên lý ho t ñ ng như m t m ch vi tác v hay opcode s ñư c qua m t m ch gi i mã ñ bi t ñư c tu n t . T c là s có các tr ng thái và các ñư ng tín hi u mà s mã tác v ph i làm là gì. Sau khi gi i mã, các tín hi u này ñư c ñưa thay ñ i c a các tín hi u t i m t th i ñi m nh t ñ nh s làm tr ng vào m ch ñi u khi n g m các c ng ñi u khi n. thái gi nguyên ho c chuy n sang m t tr ng thái m i. ð ñi u khi n các ho t ñ ng ñư c ñ ng b , ta dùng m t b ð hi u ñư c v n hành c a b ñi u khi n m ch ñi n t , t o các th i hi u, m i th i hi u ng v i m t th i ñi m nh t ñ nh. chúng ta xét ñ n mô t v Automate (m ch t ñ ng hóa) tr ng thái Các th i hi u này cùng v i các tín hi u t b gi i mã và t các tín h u h n như m t m ch tu n t có nhi u h th ng hay nhi u thành hi u khác trong ph n còn l i c a thanh ghi IR sau khi qua các c ng ph n mà m i th i ñi m xem xét ñ u có m t tr ng thái (state). ñi u khi n s cho ta các tín hi u ñi u khi n c n thi t. Các tín hi u M c ñích c a tr ng thái là ghi nh nh ng gì có liên quan ñi u khi n có th là ñưa d li u m t thanh ghi nào ñó lên BUS, ñưa trong quá trình ho t ñ ng c a h th ng. Vì ch có m t s tr ng thái d li u t trên BUS vào thanh ghi, m tín hi u ghi vào m t thanh nh t ñ nh nên nói chung không th ghi nh h t toàn b l ch s c a ghi, ñưa ra tín hi u ñ c/ghi vào b nh chính, kh i ñ ng ng t ñ h th ng, do v y nó ph i ñư c thi t k c n th n ñ ghi nh nh ng truy n d li u ra HDD, máy in,… gì quan tr ng. Ưu ñi m c a h th ng (ch có m t s h u h n các tr ng thái) ñó là có th cài ñ t h th ng v i m t lư ng tài nguyên c ñ a ch b nh , thanh ghi,… IR Mã tác v ñ nh. Ch ng h n, chúng ta có th cài ñ t Automate tr ng thái h u h n trong ph n c ng máy tính d ng m ch ñi n hay m t d ng chương trình ñơn gi n, trong ñó, nó có kh năng quy t ñ nh khi ch M ch gi i bi t m t lư ng gi i h n d li u ho c b ng cách dùng v trí trong mã nxm ño n mã l nh ñ ñưa ra quy t ñ nh. Các c ng m-1 0 D0 Tín hi u ñi u khi n Theo t ch c ñi u khi n c ng, lu n lý ñi u khi n ñư c cài ñi u khi n … ñ t qua các c ng , m ch l t, m ch gi i mã và các m ch s khác. Dm-1 Thu n l i là có th t i ưu ñ t o ra ch ñ nhanh cho tác v T Theo t ch c ñi u khi n vi trình, thông tin ñi u khi n ñư c lưu trong b nh ñi u khi n, b nh ñi u khi n ñư c l p trình ñ kh i ñ ng dãy vi tác v theo yêu c u. Khi thay ñ i thi t k , c n Các tín hi u khác thay ñ i cách k t n i các thành ph n n u t ch c theo ki u ñi u (INR, CLR,…) B t o các khi n cài c ng. N u t ch c theo ñi u khi n vi trình ch c n c p th i hi u Clock nh t vi trình trong b nh ñi u khi n. Hình 7.3. Sơ ñ kh i b ñi u khi n máy tính cơ b n 222 223
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý ñ n vi c ph i s d ng tham chi u hay con tr t i b nh nhi u hơn B ñi u khi n vi chương trình làm gi m ñáng k ñ n t c ñ th c thi c a chương trình. Thay vì b ñi u khi n c ng dùng m ch t h p các c ng ñ cho ra các tín hi u ñi u khi n thì ñi u khi n vi trình dùng m t vi M t d ng khác c a các thanh ghi ñư c dùng ñ lưu các bit chương trình l p s n n m trong b nh ñi u khi n ñ kh i ñ ng tr ng thái c a b x lý hay là các c tr ng thái. Nh ng bit này thay dãy vi tác v theo yêu c u. ñ i tùy theo k t qu th c hi n m t l nh nào ñó trong CPU B ñi u khi n b ng vi chương trình ñư c dùng r ng rãi Thanh ghi truy c p b nh trong các b x lý CISC. B x lý này có t p l nh ph c t p v i các Có hai thanh ghi ñư c dùng ñ c bi t trong các l nh ñ c/ghi l nh có chi u dài khác nhau và có d ng th c ph c t p. Trong các v i b nh : thanh ghi d li u b nh (memory data register - b x lý CISC, ngư i ta cài ñ t m t l nh mã máy b ng cách vi t MDR) và thanh ghi ñ a ch b nh (memory address register – m t vi chương trình. Như v y công vi c khá ñơn gi n và r t h u MAR). Hai thanh ghi này ñư c CPU s d ng ñ c bi t và các nhà hi u. Các sai sót trong thi t k automat ñi u khi n cũng d s a ñ i. l p trình không th truy c p tr c ti p vào chúng. 7.3. B thanh ghi Trong th t th c hi n m t l nh ghi vào m t vùng nh ñ c bi t, MDR và MAR ñư c dùng như sau: Các thanh ghi là m t lo i b nh ñ c bi t nhanh n m bên trong CPU và ñư c dùng ñ t o ra và lưu tr các k t qu c a các 1. M t t c n lưu vào m t v trí nào ñó trong b nh , ñ u l nh trong CPU và các phép toán khác. Các lo i máy tính khác tiên s ñư c CPU t i vào thanh ghi MDR nhau có các b thanh ghi khác nhau. Chúng khác nhau v s lư ng 2. ð a ch c a vùng nh ñó (vùng nh s ghi d li u vào) các thanh ghi, các lo i thanh ghi và c chi u dài c a m i thanh ghi. ñư c CPU t i vào trong MAR Chúng cũng khác nhau trong cách dùng cho m i thanh ghi. 3. Sau cùng b ñi u khi n s phát ra tín hi u ñi u khi n “ghi” (write) ñ ghi d li u n m trên MDR vào ñ a ch Thanh ghi muc ñích chung có th ñư c dùng cho nhi u m c n m trên MAR. ñích và ñư c nhà l p trình dùng ñ gán cho nh ng tr ng thái khác nhau c a các hàm, các bi n. Tương t khi th c hi n m t l nh ñ c (read) t b nh , thanh ghi MDR và MAR s ñư c dùng như sau: Thanh ghi có m c ñích ñ c bi t ch ñư c dùng cho m t s ch c năng ñ c bi t. Trong m t s trư ng h p, m t vài thanh ghi ch 1. ð a ch c a t nh n m trong b nh c n ñ c ñư c ñưa ñư c dùng ñ lưu tr d li u và không th dùng trong tính toán ñ a vào MAR ch c a các toán h ng. 2. B ñi u khi n s phát ra tín hi u ñi u khi n “ñ c” (read) ñ ñ c d li u n m trong b nh . Chi u dài c a thanh ghi ph i ñ ñ lưu tr h u h t các lo i 3. D li u n m trong b nh có ñ a ch ch a trong MAR s d li u, ñ c bi t là thanh ghi ñ a ch ph i ñ dài ñ có th lưu ñư c ñư c t i vào trong MDR ñ a ch l n nh t. S lư ng thanh ghi trong m t ki n trúc máy tính nh hư ng tr c ti p ñ n vi c thi t k b l nh. N u s lư ng thanh gi ít s d n 224 225
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý DS, ES, FS và GS. Nhóm thanh ghi th ba bao g m thanh ghi l nh Thanh ghi chuy n t i l nh IR và thanh ghi tr ng thái. Trong s nh ng bit tr ng thái, 5 bit ñ u Có hai thanh ghi r t quan tr ng ñư c dùng ñ lưu các câu tiên ñ ng nh t v i các bit c a b vi x lý 8 bit trư c ñây 8085. Các l nh cho vi c th c thi c a chương trình là: B ñ m chương trình bit ti p theo 6-11 gi ng như ñư c gi i thi u trong 8086. Các bit 12- (program counter – PC) và thanh ghi l nh (instruction register – 14 ñư c gi i thi u trong 80286 trong khi các bit 16-17 trong IR). 80386. Bit flag 18 trong 80486. Trong ñó còn nhi u bit chưa ñư c Thanh ghi PC dùng ñ lưu ñi ch c a l nh ti p theo qua ñó dùng t i và ñ làm d tr cho nh ng m c ñích có th xu t hi n sau s ñi u khi n th t th c hi n các l nh trong m t chương trình. Các này. l nh th c hi n l n lư t ñư c tìm th y và lưu vào trong thanh ghi IR. T i m i th i ñi m ch có m t l nh ñư c lưu trong IR. Sau khi 31 16 15 87 0 ñã tìm và ñem m t l nh v cho IR, thanh ghi PC s ñư c n p m t EAX AH AL giá tr m i là ñ a ch c a l nh ti p theo. EBX BH BL ECX CH CL Thanh ghi tr ng thái EDX DH DL Các thanh ghi tr ng thái hay là các c tr ng thái ñư c s ESI SI d ng ñ gi các thông tin v tr ng thái c a quá trình th c thi l nh. EDI DI M t s ki n trúc máy tính ch a m t thanh ghi ñ c bi t g i là thanh ESP SP ghi t tr ng thái c a chương trình (program status word – PSW). EBP BP Trong PSW ch a các bit tr ng thái cho bi t k t qu c a các phép Các thanh ghi m c ñích chung tính s h c (có b ng 0 không?có s th a không?...), tr ng thái ng t, 15 0 thông tin b o v b nh , tình tr ng c a b x lý,… CS (Code segment pointer) SS (Stack segment pointer – top) Các thanh ghi h 80x86 Các thanh ghi ño n DS (Data segment pointer 0) ES (Data segment pointer 1) Trong các th h máy tính 32 bit c a Intel như 386,486 và FS (Data segment pointer 2) Pentium có ba nhóm thanh ghi, ñó là: GS(Data segment pointer 3) - Thanh ghi m c ñích chung - Thanh ghi segment Thanh ghi l nh IR - Thanh ghi ñ m chương trình PC và thanh ghi c tr ng thái E Flags Flags H Flags L Trong hình 7.4 cho ta th y ba nhóm này. Nhóm th nh t là Thanh ghi c các thanh ghi m c ñích chung ñư c ñ t tên b ng các ký t A,B,C,D,SI (source index), DI (destination index), SP (stack Hình 7.4. Các thanh ghi h 80x86 pointer) và BP (base pointer). Nhóm th hai bao g m các thanh ghi CS (code segment), SS (stack segment) và 4 thanh ghi ño n d li u 226 227
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý 7.4. ðư ng ñi d li u (Datapath) Ph n ñư ng ñi d li u g m có b logic-s h c (ALU: Arithmetic and Logic Unit), các m ch d ch, các thanh ghi và các ñư ng n i k t các b ph n trên. Ph n này ch a h u h t các tr ng thái c a b x lý. Ngoài các thanh ghi t ng quát, ph n ñư ng ñi d li u còn ch a thanh ghi ñ m chương trình (PC: Program Counter), thanh ghi tr ng thái (SR: Status Register), các thanh ghi ñ a ch b nh MAR, thanh ghi s li u b nh MDR, b d n kênh (MUX: Multiplexor), ñây là ñi m cu i c a các kênh d li u - CPU và b nh , v i nhi m v l p th i bi u truy c p b nh t CPU và các kênh d li u, các h th ng bus Hình 7.5. T ch c One-Bus Nhi m v chính c a ph n ñư ng ñi d li u là ñ c các toán h ng t các thanh ghi t ng quát, th c hi n các phép tính trên toán 7.4.2. T ch c Two-Bus, Three-Bus h ng này trong ALU và lưu tr k t qu trong các thanh ghi t ng S d ng hai BUS ñ t ch c ñư ng ñi d li u là m t gi i quát. ngã vào và ngã ra các thanh ghi t ng quát có các m ch ch t pháp giúp c i thi n t c ñ r t nhi u so v i công ngh dùng one-bus. A, B, C. Như ñã ñ c p trên, thông thư ng, s lư ng các thanh Trong trư ng h p này các thanh ghi ña m c ñích ñư c n i v i c ghi t ng quát là 32. hai bus. D li u có th truy n t hai thanh ghi khác nhau ñ n ñ u Ph n ñư ng ñi c a d li u chi m phân n a di n tích c a b vào c a ALU t i cùng m t th i ñi m. Do v y, m t l nh có hai toán x lý nhưng là ph n d thi t k và cài ñ t trong b x lý. h ng có th tìm và n p trong cùng m t chu kỳ ñ ng h và như v y rõ ràng t c ñ x lý l nh lúc này ñã tăng g p ñôi. Hơn n a, trong 7.4.1. T ch c One-Bus c u trúc này (hình 7.6) còn có m t thanh ghi ñ m (buffer register) Các thanh ghi CPU và ALU dùng m t BUS ñơn ñ di có th c n thi t ñ lưu tr d li u ñ u ra c a ALU khi hai bus ñang chuy n d li u ra vào gi a chúng v i nhau. Vì m t BUS ch có th b n chuy n t i d li u. s d ng m t d li u di chuy n trong m t chu kỳ ñ ng h , cho nên m t phép toán có hai toán h ng s ph i c n hai chu kỳ ñ ng h ñ Trong hình 7.6(a) cho ta th y cách t ch c ki n trúc ki u tìm và n p các toán h ng cho ALU. D ng t ch c BUS này là ñơn two-bus này. Trong m t s trư ng h p, m t bus có th ñư c dùng gi n nh t nhưng nó b nhi u h n ch v s lư ng d li u ñư c ñ di chuy n d li u vào thanh ghi (in-bus). trư ng h p này m t chuy n t i trong m t chu kỳ ñ ng h nói chung ñã làm ch m c h thanh ghi ñ m thêm có th ñư c dùng như là m t b nh t m th i th ng l i r t nhi u. trư c khi ñưa vào ALU. ð u ra c a ALU ñư c n i tr c ti p v i in- Hình 7.5 cho ta sơ ñ t ch c ñư ng ñi d li u one-bus . Nó bus và cho phép chuy n k t qu tính toán t i m t trong các thanh bao g m b các thanh ghi ña m c ñích, m t thanh ghi ñ a ch b ghi. Hình 7.6(b) cho ta t ch c two-bus v i in-bus và out-bus. nh MAR, m t thanh ghi d li u b nh MDR, m t thanh ghi l nh IR, m t thanh ghi ñ m chương trình PC và b logic s h c ALU. 228 229
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý Trong t ch c three-bus thì hai trong s ñó ñư c dùng như là các bus ngu n, bus còn l i như là bus ñích. Các bus ngu n chuy n d li u ra kh i thanh ghi (out-bus), và bus ñích có th chuy n d li u vào trong các thanh ghi (in-bus). M i ñ u c a out- bus ñư c n i v i ñ u vào c a ALU. ð u ra c a ALU thì n i tr c ti p v i in-bus. Như v y chúng ta l i có th truy n d li u nhi u hơn trong cùng m t chu kỳ ñ ng h . Tuy nhiên vi c tăng các bus lên s làm tăng ñ ph c t p c a ph n c ng lên nhi u hơn, vì v y tùy theo m c ñ c n thi t mà các lo i máy tính khác nhau s có s lư ng bus khác nhau. T ch c máy tính ñơn gi n lo i three-bus có th mih h a như hình 7.7. Hình 7.7. T ch c ñư ng truy n d li u d ng three-bus 7.5. Di n ti n thi hành l nh mã máy(CPU instruction cycle) Công vi c c a CPU di n ra liên t c và vi c th c hi n các l nh di n ra như trong hình 7.8. Các l nh ñư c l y ra t b nh chính và khi CPU tìm th y m t l nh, nó s phân tích l nh ñó ñ th c thi, sau ñó l i s tìm n p l nh ti p theo và c như v y di n ra liên t c. Vi c thi hành m t l nh mã máy có th chia thành 5 giai ño n sau: ð c l nh (IF: Instruction Fetch) Gi i mã l nh (ID: Instruction Decode) Thi hành l nh (EX: Execute) Thâm nh p b nh trong ho c nh y (MEM: Memory access) Lưu tr k t qu (RS: Result Storing). M i giai ño n ñư c thi hành trong m t ho c nhi u chu kỳ xung nh p. Hình 7.6. T ch c ñư ng truy n d li u d ng two-bus 230 231
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý 4. D li u trong MDR ñư c load vào IR: IR ← M[MAR] B tñ u B ñ m chương trình PC ñư c ñưa vào MAR . L nh ñư c ñ c t b nh trong, t i các ô nh có ñ a ch n m trong MAR và ñư c ñưa vào thanh ghi l nh IR. Th t th c ð c l nh k ti p hi n l nh theo th i gian ñ i v i lo i one-bus như sau: Gi i mã l nh Thi hành l nh N u dùng three-bus như hình 7.7 thì ta có th t các bư c như sau: Truy c p b nh ho c nh y Lưu tr k t qu 2. Gi i mã l nh và ñ c các thanh ghi ngu n: Hình 7.8. Di n bi n thi hành l nh c a CPU ð hi u rõ giai ño n này, ta l y d ng th c c a m t 1. ð c l nh (fetch instruction): l nh làm tính tiêu bi u sau ñây: Chu i các s ki n trong m t l n tìm ñ c l nh cò th t ng Thanh ghi Thanh ghi Thanh ghi quát như sau: Mã l nh RS1 RS1 RD 8 4 4 4 1. D li u trong PC ñư c load vào MAR: MAR ← PC 2. Giá tr trong thanh ghi PC tăng lên 1: PC PC+1 Các thanh ghi ngu n RS1 và RS2 ñư c s d ng tuỳ theo tác v , k t qu ñư c ñ t trong thanh ghi ñích RD. 3. K t qu c a l nh ñ c t b nh , d li u ñư c load vào MDR: MDR M[MAR] 232 233
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý L nh ñư c gi i mã. K ñó các thanh ghi RS1 và RS2 ñư c ALU th c hi n phép tính xác ñ nh trong mã l nh, ñưa vào A và B ñ chu n b th c thi l nh(ví d như trong t ch c ñưa k t qu ra ngã ra. one-bus).Thanh ghi PC ñư c tăng lên ñ ch t i l nh k ñó. - M t phép nh y A ← RS1 Ngã ra ALU ← ð a ch l nh ti p theo do ALU tính. B ← RS2 ALU c ng ñ a ch c a PC v i ñ d i ñ làm thành PC ← PC + 4 ñ a ch ñích và ñưa ñ a ch này ra ngã ra. N u là m t phép nh y có ñi u ki n thì thanh ghi tr ng thái ñư c ñ c quy t Trong giai ño n này vi c gi i mã s ñư c th c hi n cùng ñ nh có c ng ñ d i vào PC hay không. lúc v i vi c ñ c d li u các thanh ghi ngu n RS1 và RS2. Như v y 4. Thâm nh p b nh trong ho c nh y l n cu i k t thúc giai ño n này thì l nh s ñư c gi i mã và máy tính s bi t chính xác l nh ph i th c thi là l nh c ng, tr , AND,… và các thanh Giai ño n này thư ng ch ñư c dùng cho các l nh ghi ngu n cũng ñư c n p vào v trí c n thi t cho vi c th c thi l nh. n p d li u, lưu gi d li u và l nh nh y. 3. Thi hành l nh: - Tham kh o ñ n b nh : Tuỳ theo lo i l nh mà m t trong ba nhi m v sau ñây ñư c MDR ← M[MAR] ho c M[MAR] ← MDR th c hi n: S li u ñư c n p vào MDR ho c lưu vào ñ a ch mà - Liên h t i b nh MAR tr ñ n. MAR ← ð a ch do ALU tính tuỳ theo ki u ñ nh v - Nh y: (RS2). If (ñi u ki n), PC ← ng ra ALU MDR ← RS1 N u ñi u ki n ñúng, ngã ra ALU ñư c n p vào PC. ð a ch hi u d ng do ALU tính ñư c ñưa vào MAR ð i v i l nh nh y không ñi u ki n, ng ra ALU luôn ñư c và thanh ghi ngu n RS1 ñư c ñưa vào MDR ñ ñư c lưu n p vào thanh ghi PC. vào b nh trong. 5. Lưu tr k t qu - M t l nh c a ALU RD ← Ngã ra ALU ho c RD ← MDR Ngã ra ALU ← K t qu c a phép tính 234 235
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý Lưu tr k t qu trong thanh ghi ñích. Báo tràn s li u trong tính toán s h c. Trang b nh th c s không có trong b nh . Báo vi ph m vùng c m c a b nh . 7.6. X lý ng t (Interrupt Handling) Báo dùng m t l nh không có trong t p l nh. Trong máy tính, ñôi khi m t s công vi c nào ñó c n ñư c x lý ngay t c th i và như v y c n ph i làm ñình tr m t công vi c Báo ph n c ng máy tính b hư. nào ñó ñang x lý, vi c làm ñó c a CPU ta g i là ng t. V y ng t là m t s ki n x y ra m t cách ng u nhiên trong máy tính và làm Báo ñi n b c t. ngưng tính tu n t c a chương trình (nghĩa là t o ra m t l nh nh y). Ph n l n các nhà s n xu t máy tính (ví d như IBM, Thông thư ng trong máy tính ng t quãng không x y ra INTEL) dùng t ng t quãng ñ ám ch s ki n này, tuy nhiên m t thư ng xuyên nhưng b x lý ph i ñư c thi t k sao cho có th lưu s nhà s n xu t khác dùng t “ngo i l ”, “l i”, hay “b y” ñ ch gi tr ng thái c a nó trư c khi b ng t quãng ñi ph c v m t công ñ nh hi n tư ng này. vi c gì ñó ñòi h i t c thì. Sau khi th c hi n xong công vi c ñó thì chương trình x lý ng t ph i khôi ph c l i nguyên tr ng thái c a nó Khi thi t k máy tính thì b ñi u khi n c a CPU là b ph n trư c khi ng t quãng x y ra ñ có th ti p t c công vi c. khó th c hi n nh t và ng t quãng l i là ph n khó th c hi n nh t trong b ñi u khi n. ð nh n bi t ñư c m t ng t quãng lúc ñang thi Khi thi t k máy tính, ñ ñơn gi n ngư i ta có th thi t k hành m t l nh, ta ph i bi t ñi u ch nh chu kỳ xung nh p và ñi u b x lý ch ch p nh n ng t sau khi th c hi n xong l nh ñang ch y. này có th nh hư ng ñ n hi u qu c a máy tính. Trong trư ng h p ñơn gi n này, khi m t ng t x y ra, b x lý thi Ng t quãng ñư c ng d ng trong nhi u trư ng h p, ví d hành các bư c sau ñây: như ñ nh n bi t các sai sót trong tính toán s h c như chia cho 0, ñ ng d ng cho nh ng hi n tư ng th i gian th c c n ñư c ph c 1. Th c hi n xong l nh ñang làm. v t c thì. Có th li t kê nh ng công vi c sau ñây ñòi h i ph i có ng t quãng: 2. Lưu tr tr ng thái hi n t i. Ngo i vi ñòi h i nh p ho c xu t s li u. 3. Nh y ñ n chương trình ph c v ng t Ngư i l p trình mu n dùng d ch v c a h ñi u 4. Khi chương trình ph c v ch m d t, b x lý khôi ph c hành. l i tr ng thái cũ c a nó và ti p t c th c hi n chương trình mà nó ñang th c hi n khi b ng t. Cho m t chương trình ch y t ng l nh. Làm ñi m d ng c a m t chương trình. 236 237
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý B ng 7.1 cho ta th y th t th c hi n các s ki n khi x y ra tìm n p vào. Trong chu kỳ xung nh p th hai, trong khi l nh th i ng t, ñây t1
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý nh p 5), ta th y cùng m t lúc có 2 tác v ñ c (IF, MEM) và 1 tác v Khó khăn ñ u tiên là khó khăn do thi u b ph n ch c năng, vi t (RS). ví d trong m t máy tính dùng k thu t ng d n ph i có nhi u ALU, nhi u PC, nhi u thanh ghi l nh IR ... Như v y nh ng khó - Trong m t máy có k thu t ng d n, có khi k t qu c a khăn này là do b ph n ph n c ng thi u và cách gi i quy t duy m t tác v trư c ñó, là toán h ng ngu n c a m t tác v khác. Gi nh t là thêm các b ph n ch c năng c n thi t và h u hi u vào. s k t qu c a l nh th i là toán h ng c a l nh th i+1 thì t i chu kỳ xung nh p th 4 l nh th i+1 không th th c hi n (EX) ñư c vì b. Khó khăn do s li u: còn chưa có giá tr toán h ng. Như v y s có thêm nh ng khó khăn L y ví d trư ng h p các l nh liên ti p sau: ñòi h i ph i có cơ ch x lý riêng. - C n ph i gi i mã các l nh m t cách ñơn gi n ñ có th L nh 1: ADD R1, R2, R3 gi i mã và ñ c các toán h ng trong m t chu kỳ duy nh t c a xung nh p. L nh 2: SUB R4, R1, R5 - C n ph i có các b làm tính ALU h u hi u ñ có th thi L nh 3: AND R6, R1, R7 hành l nh s h c dài nh t, có s gi , trong m t kho ng th i gian ít hơn m t chu kỳ c a xung nh p. L nh 4: OR R8, R1, R9 - C n ph i có nhi u thanh ghi l nh ñ lưu gi l nh mà Trong hình 7.10 cho ta th y thanh ghi R1 lưu k t qu c a chúng ta ph i xem xét cho m i giai ño n thi hành l nh. l nh 1 ch có th ñư c dùng cho l nh 2 sau giai ño n MEM c a - Cu i cùng ph i có nhi u thanh ghi b ñ m chương trình l nh 1, nhưng R1 ñư c dùng cho l nh 2 vào giai ño n EX c a l nh PC ñ có th tái t c các l nh trong trư ng h p có ng t quãng. 1. Chúng ta cũng th y R1 ñư c dùng cho các l nh 3 và 4. Nh ng khó khăn trong k thu t ng d n Khi thi hành l nh trong m t máy tính dùng k thu t ng d n, có nhi u trư ng h p làm cho vi c th c hi n k thu t ng d n không th c hi n ñư c như là: thi u các m ch ch c năng x lý m t vi c c th nào ñó, m t l nh dùng k t qu c a l nh trư c thì m i thi hành ñư c, m t l nh nh y. Hình 7.10. Nh ng khó khăn do s li u Ta có th phân bi t 3 lo i khó khăn: khó khăn do c u trúc, khó khăn do s li u và khó khăn do ñi u khi n. ð kh c ph c khó khăn này, m t b ph n ph n c ng ñư c dùng ñ ñưa k t qu t ngã ra ALU tr c ti p vô m t trong các a. Khó khăn do c u trúc: thanh ghi ngã vào như trong hình 7.6. 240 241
CÓ THỂ BẠN MUỐN DOWNLOAD
-
kiến trúc máy tính Vũ Đức Lung phần 1
15 p | 117 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 2
13 p | 94 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 5
13 p | 104 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 8
13 p | 88 | 23
-
kiến trúc máy tính Vũ Đức Lung phần 3
16 p | 114 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 10
20 p | 106 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 7
13 p | 93 | 22
-
Bài giảng Lý thuyết mạng máy tính - ThS. Nguyễn Đức Thiện
20 p | 227 | 21
-
kiến trúc máy tính Vũ Đức Lung phần 6
12 p | 95 | 21
-
kiến trúc máy tính Vũ Đức Lung phần 4
16 p | 87 | 21
-
Bài giảng Kiến trúc máy tính: Chương 5 - TS. Vũ Đức Lung
19 p | 78 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn