kiến trúc máy tính Vũ Đức Lung phần 10
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 10', 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 10
- Chương VII: T ch c B x lý Chương VII: T ch c B x lý Khi b ph n ph n c ng nêu trên phát hi n có dùng k t qu M t trư ng h p khó hơn có th x y ra trong nh ng l nh c a ALU làm toán h ng cho li t kê, nó tác ñ ng vào m ch ña h p nh y có ñi u ki n. ðó là ñi u ki n ñư c có khi so sánh 2 thanh ghi ñ ñưa ngã ra c a ALU vào ngã vào c a ALU ho c vào ngã vào và ch th c hi n l nh nh y khi k t qu so sánh là ñúng. Vi c tính c a m t ñơn v ch c năng khác n u c n. toán trên các ñ i lư ng logic không th th c hi n ñư c trong phân n a chu kỳ và như th ph i kéo dài th i gian th c hi n l nh nh y c. Khó khăn do ñi u khi n: có ñi u ki n. Ngư i ta thư ng tránh các trư ng h p này ñ không làm gi m m c h u hi u c a máy tính. Trong m t s trư ng h p, các l nh làm thay ñ i tính thi hành các l nh m t cách tu n t (nghĩa là thay vì PC tăng ñ u ñ n V y trư ng h p ñơn gi n, ngư i ta có th ñư c ñ a ch c n sau m i l nh thì ñ t xu t nó tăng ho c gi m m nh hơn), gây khó nh y ñ n và ñi u ki n nh y cu i giai ño n ID. V y có ch m ñi m t khăn v ñi u khi n. Các l nh này là l nh nh y ñ n m t ñ a ch tuy t chu kỳ mà ngư i ta có th gi i quy t b ng nhi u cách. ñ i ch a trong m t thanh ghi, hay l nh nh y ñ n m t ñ a ch xác ñ nh m t cách tương ñ i so v i ñ a ch hi n t i c a b ñ m chương Cách th nh t là ñóng băng k thu t ng d n trong m t chu trình PC. Các l nh nh y trên có th có ho c không ñi u ki n. kỳ, nghĩa là ngưng thi hành l nh th i+1 ñang làm n u l nh thư i là l nh nh y. Ta m t tr ng m t chu kỳ cho m i l nh nh y. Trong trư ng h p ñơn gi n nh t, tác v nh y không th bi t trư c giai ño n gi i mã. Như v y, n u l nh nh y b t ñ u chu kỳ C Cách th hai là thi hành l nh sau l nh nh y nhưng lưu ý thì l nh mà chương trình nh y t i ch ñư c b t ñ u chu kỳ C+2. r ng hi u qu c a m t l nh nh y b ch m m t m t l nh. V y l nh Ngoài ra, ph i bi t ñ a ch c n nh y ñ n mà ta có cu i giai ño n theo sau l nh nh y ñư c th c hi n trư c khi l nh mà chương trình gi i mã ID. Trong l nh nh y tương ñ i, ta ph i c ng ñ d i ch a ph i nh y t i ñư c th c hi n. Chương trình d ch hay ngư i l p trong thanh ghi l nh IR vào thanh ghi PC. Vi c tính ñ a ch này ch trình có nhi m v xen vào m t l nh h u ích sau l nh nh y. ñư c th c hi n vào giai ño n ID v i ñi u ki n ph i có m t m ch Trong l p trình thư ng x y ra trư ng h p chúng ta so sánh công vi c riêng bi t. m t ñi u ki n nào ñó và vi c nh y có th ñư c th c hi n hay không V y trong trư ng h p l nh nh y không ñi u ki n, l nh mà th c hi n ph thu c vào ñi u ki n ñó. Ngư i ta g i l nh h u ích ñ t chương trình nh y ñ n b t ñ u th c hi n chu kỳ C+2 n u l nh sau l nh nh y không làm sai l ch chương trình dù ñi u ki n nh y nh y b t ñ u chu kỳ C. ñúng hay sai. H u h t các b x lý RISC có nh ng l nh nh y v i kh năng hu b . Các l nh này cho phép thi hành l nh sau l nh Cho các l nh nh y có ñi u ki n thì ph i tính toán ñi u ki n. nh y n u ñi u ki n nh y ñúng và hu b th c hi n l nh ñó n u ñi u Thông thư ng các ki n trúc RISC ñ t k t qu vi c so sánh vào ki n nh y sai gi ng như trong câu l nh if (ñi u ki n ñúng) GOTO trong thanh ghi tr ng thái, ho c vào trong thanh ghi t ng quát. ñ a ch else th c hi n l nh ngay sau dòng if. Trong c 2 trư ng h p, ñ c ñi u ki n tương ñương v i ñ c thanh ghi. ð c thanh ghi có th ñư c th c hi n trong phân n a chu kỳ cu i giai ño n ID. 242 243
- Chương VII: T ch c B x lý CÂU H I VÀ BÀI T P CHƯƠNG VII 1. Li t kê các thành ph n và nhi m v c a CPU? 2. Mô t t ch c m t máy tính ñơn gi n và ho t ñ ng c a các b ph n chính trong CPU 3. Nhi m v c a b ñi u khi n và các lo i b ñi u khi n? 4. B thanh ghi g m các lo i nào? Trong h 80x86, hãy nêu các thanh ghi và các ñ c tính tương ng c a m i lo i. 5. Các lo i ñư ng ñi c a d li u và các ưu, như c ñi m c a m i lo i? 6. Vi c thi hành l nh mã máy ñư c th c thi ra sao? gi i thích vi c th c thi ño n chương trình sau: MOV R4, #24 ADD R4, (R1) 7. Th nào là ng t quãng? Các giai ño n th c hi n ng t quãng c a CPU. 8. V hình ñ mô t k thu t ng d n. K thu t ng d n làm tăng t c ñ CPU lên bao nhiêu l n (theo lý thuy t)? T i sao trên th c t s gia tăng này l i ít hơn? 9. Các ñi u ki n mà m t CPU c n ph i có ñ t i ưu hoá k thu t ng d n. Gi i thích t ng ñi u ki n. 10. Các khó khăn trong k thu t ng d n và cách gi i quy t khó khăn này. 244
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh trong (main memory). B nh cache và b nh chính ñư c ch t o s d ng ch t bán d n r n ( ñi n hình là CMOS transistors). Ti p CHƯƠNG VIII: H TH NG B NH theo sau ñó là các b nh có dung lư ng l n hơn, ch m hơn và r ti n hơn mà tiêu bi u là ñĩa c ng, ñĩa m m, các lo i CD, DVD, Trong chương này s gi i thi u v các ch c năng và băng t ,… nguyên lý ho t ñ ng c a h th ng b nh máy tính như b nh Các thanh ghi cache, b nh trong, b nh th c p và b nh o. B nh máy tính ñư c t ch c thành m t h th ng g i là các c p b nh , trong ñó M c cao các b nh l n hơn, ch m hơn và r ti n hơn s ñư c k t h p v i B nh Cache Dung lư ng b nh nh hơn các b nh nh hơn, nhưng nhanh hơn và ñ t ti n hơn ñ t o thành B nh chính m t h th ng b nh có t c ñ và giá c phù h p nh t. (Main memory) 8.1. CÁC C P B NH (Memory Hierarchy) B nh th c p – ðĩa Secondary Storage (Disk) Nhanh hơn Ngư i ta chia b nh thành các c p d a vào các ñ c tính ð t hơn B nh c p ba - Băng t như lư ng thông tin lưu tr , th i gian thâm nh p b nh , chu kỳ b Tertiary Storage (Tape) nh , giá ti n m i bit nh . Các c p b nh b t ñ u t b nh nhanh M c th p v i dung lư ng ít ñ n các b nh ch m v i dung lư ng l n hơn nhi u. Hình 8.1. Các c p b nh cơ b n Các c p b nh giúp cho ngư i l p trình có ñư c m t b Hi u qu c a vi c phân thành các c p b nh ph thu c vào nh th t nhanh v i chi phí ñ u tư th p hơn nhi u. Vì các b nh nguyên lý chuy n ñ i thông tin trong các b nh nhanh. Hi u qu nhanh, có dung lư ng ít thì ñ t ti n hơn các b nh có dung lư ng càng cao khi thông tin trong ñó càng ít khi b thay ñ i và vi c truy cao hơn, nhưng ch m hơn. Do ñó m c tiêu c a vi c thi t l p các c p vào thông tin trong ñó càng nhi u l n càng t t trư c khi nó b c p b nh là ngư i dùng có ñư c m t h th ng b nh r ti n như thay th b i thông tin m i. ð ñánh giá hi u qu c a h th ng các c p b nh th p nh t và g n nhanh như c p b nh cao nh t. Các c p b nh , chúng ta s xem xét trư ng h p dư i ñây. c p b nh thư ng ñư c l ng vào nhau. M i d li u trong m t c p Khi b vi x lý (VXL) g i m t yêu c u truy c p ñ n m t t thì ñư c g p l i trong c p th p hơn và có th ti p t c g p l i trong nh hay m t câu l nh, máy tính s th c thi tìm ki m t nh theo c p th p nh t. m t th t như sau: Chúng ta có nh n xét r ng, m i c p b nh có dung lư ng – Tìm t nh trong b nh m c cao nh t (thông thư ng g i là l n hơn c p trên mình, ánh x m t ph n ñ a ch các ô nh c a mình cache) c a các c p b nh . Xác su t tìm th y t nh trong vào ñ a ch ô nh c a c p trên tr c ti p có t c ñ nhanh hơn, và các ñó g i là t s thành công (hit ratio) h1, không tìm th y là t c p b nh ph i có cơ ch qu n lý và ki m tra các ñ a ch ánh x . s th t b i (miss ratio) (1-h1); Các c p b nh ñư c phân lo i như trên hình 8.1 b t ñ u – Khi không tìm th y t nh trong bư c m t thì tìm c p b v i b nh nh , ñ t ti n và nhanh g i là cache. Ti p sau ñó là b nh th p hơn th p hơn (như cache L2, main memory). nh l n hơn, r hơn và ch m hơn g i là b nh chính hay b nh Tương t như trên ta s có các t s h2 và (1-h2); 245 246
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh – Quá trình này s ti p di n cho ñ n khi tìm th y t nh c n Nguyên t c v th i gian: Các ô nh ñư c h th ng x lý thâm • thi t ho c h t c p b nh . nh p có kh năng s ñư c thâm nh p l i trong tương lai g n. – Khi tìm th y t nh s ñư c chuy n cho B x lý và c p Th t v y, các chương trình ñư c c u t o v i ph n chính là ph n nh t l i d li u trong các c p b nh n u c n thi t. ñư c thi hành nhi u nh t và các ph n ph dùng ñ x lý các trư ng h p ngo i l . Còn s li u luôn có c u trúc và thông Gi s các c p b nh có 3 c p. Th i gian truy c p vào các thư ng ch có m t ph n s li u ñư c thâm nh p nhi u nh t mà c p b nh trung bình, hay th i gian trung bình ñ tìm th y m t t thôi. Ví d như m t l nh trong m t vòng l p c a chương trình. nh ñư c tính thao công th c sau: tav = h1*t1 + (1-h1)*[t1+h2*t2+(1-h2)*(t2+t3)] Như v y, chúng ta c n t ch c các c p b nh sao cho các = t1 + (1-h1)*[t2 + (1-h2)*t3] l nh và d li u thư ng dùng ñư c n m trong b nh cache và vi c ch c như v y s làm tăng hi u qu cũng như t c ñ chung c a Trong ñó: máy tính lên m t cách ñáng k . - hi là t s thành công khi tìm th y t nh c n thi t trong m c b nh c p i. 8.2. B NH CACHE (Cache memory) - ti là th i gian truy c p c n thi t vào b nh c p i. Cache là m t b nh t c ñ cao n m g n CPU. Ý tư ng là dùng b nh cache m c ñ u tiên c a các c p b nh ñ lưu tr Theo [6] thì m t chương trình tiêu t n 90% th i gian thi các thông tin mà CPU thư ng xuyên s d ng. K t qu là trong b t hành c a nó ch ñ th c hi n 10% s l nh c a chương trình (thư ng kỳ th i gian nào cũng có m t ph n ñang v n hành c a b nh trong là nh ng l nh n m trong các vòng l p, ñư c th c thi nhi u l n). (hay b nh chính – main memory) ñư c nhân b n l i trong b nh Như v y 90% s l nh còn l i ch tiêu t n 10% th i gian th c thi cache. ð cho chương trình v n hành nhanh hơn thì cache ph i hay nói cách khác chúng ho c là không ñư c th c thi (Ví d các ch a m t ph n con c a b nh trong ñ b x lý có th thâm nh p l nh x lý l i ch ñư c th c thi khi phát sinh l i) ho c là ch ñư c vào các l nh ho c d li u thư ng dùng t b nh cache. Do dung th c thi m t s ít l n. lư ng c a b nh cache nh nên nó ch ch a m t ph n chương trình n m trong b nh trong. Khi b VXL yêu c u ñ c m t b nh Nguyên t c trên cũng ñư c áp d ng cho vi c thâm nh p d liên quan thì ñ u tiên y u c u này ñư c tìm trong cache. N u như li u, nhưng ít hi u nghi m hơn vi c thâm nh p l nh. Như v y có y u c u tương ng v i m t ph n t n m trong cache thì ta g i hai nguyên t c: nguyên t c v không gian và nguyên t c v th i trư ng h p này là thành công cache (cache hit). Trư ng h p không gian tìm th y ph n t yêu c u trong cache thì ta g i là th t b i cache Nguyên t c v không gian: Khi b x lý thâm nh p vào ô nh • (cache miss). T s thành công cache hc(cache hit ratio) ñư c ñ nh nào ñó thì có nhi u kh năng s thâm nh p vào nh ng ô nh có nghĩa là xác su t tìm th y ph n t y u c u trong cache. T s th t ñ a ch k ti p trong th i gian sau ñó do các l nh ñư c s p x p b i cache (1-hc) (cache miss ratio) là xác su t không tìm th y ph n thành chu i có th t . Ví d danh sách các l nh n m liên ti p t yêu c u trong cache. nhau trong m t chương trình. ð ñ m b o s ñ ng nh t gi a n i dung c a cache và b nh trong thì cache và b nh trong ph i có cùng c u trúc. Vi c 247 248
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh chuy n d li u gi a cache và b nh trong là vi c t i lên hay ghi Trong trư ng h p này gi s kích thư c c a m t kh i ñư c xu ng các kh i d li u. M i kh i ch a nhi u t b nh tuỳ thu c chuy n t b nh trong vào cache khi th t b i cache là m ph n t . vào c u trúc b nh cache. S l a ch n kích thư c c a kh i r t Ta cũng gi s r ng trong lân c n không gian này thì t t c m ph n quan tr ng cho v n hành c a cache có hi u qu . Vi c trao ñ i d t ñ u ñư c yêu c u b i b VXL m t l n. Trên cơ s nh ng gi li u gi a CPU, cache và b nh trong ñư c th c thi như hình 8.2. thi t ñó ta có th i gian truy c p trung bình ñư c tính b i công th c: mt + t t tav = c m = tc + m Chuy n Chuy n m m theo kh i Main theo t Trong công th c rõ ràng là khi s ph n t trong kh i ñư c CPU Cache Memory tăng lên thì th i gian trung bình s gi m ñi, ñi u ñó cũng tương ñương v i vi c càng nhi u ph n t n m trong cache thì càng t t. nh hư ng c a t ng h p hai nguyên lý lân c n không Hình 8.2. Sơ ñ chuy n d li u gi a CPU-Cache-Main gian và th i gian memory ð ñánh giá s nh hư ng c a hai nguyên lý không gian và Trong trư ng h p này gi s ph n t ñư c yêu c u b i b th i gian vào t c ñ truy c p vào b nh c a máy tính, chúng ta gi VXL không có trong cache hay cache miss và c n ph i chuy n m t s r ng th i gian truy c p vào b nh trong là tm và th i gian truy kh i có ch a m ph n t vào trong cache (vi c làm này m t m t th i c p vào cache là tc. Gi s h th ng các c p b nh có hai m c và gian là tm). Ta cũng gi s r ng trong lân c n không gian này thì t t ta s kh o sát th i gian truy c p trung bình tav ñ n m t t nh trong c m ph n t ñ u ñư c yêu c u b i b VXL m t l n (mtc). Ngoài ra mô hình này trong các nguyên lý không gian và th i gian sau ñó b VXL còn y u c u ph n t này thêm (n-1) l n n a (lân c n th i gian) hay t ng s l n truy c p ñ n ph n t này là n l n. nh hư ng c a nguyên lý lân c n th i gian Trên cơ s nh ng gi thi t ñó ta có th i gian truy c p trung bình Trong trư ng h p này chúng ta gi s nh ng l nh ñư c tính b i công th c: trong vòng l p c a m t chương trình ñư c ch y nhi u l n và gi s là n l n. M t l n ñư c t i vào b nh cache và ñư c s d ng nhi u mtc + tm t ) + (n − 1)tc tc + m + (n − 1)tc ( l n trư c khi b thay th b i các l nh m i. Như v y th i gian truy t m m = tc + m tav = = c p trung bình tav ñư c tính b i công th c sau: n n nm Trong công th c trên rõ ràng là khi s ph n t trong kh i ntc + tm t = tc + m ho c s l n truy c p ñ n ph n t ñư c tăng lên thì th i gian trung tav = n n bình s gi m ñi và có th ti n t i giá tr tc. ði u ñó cũng tương T công th c trên ta th y n càng tăng thì th i gian truy c p ñương v i vi c càng nhi u ph n t n m trong cache thì càng t t và trung bình càng gi m và như v y hi u qu c a vi c s d ng cache s l n truy c p ñ n ph n t n m trong cache càng nhi u thì càng càng cao. t t. Qua các th o lu n trên ta bi t r ng càng có nhi u yêu c u nh hư ng c a nguyên lý lân c n không gian truy c p ñ n t nh không n m trong cache thì càng c n chuy n 249 250
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh nhi u kh i b nh t b nh trong vào cache. V n ñ là b nh cache dư i d ng m t kh i b nh và sau ñó thì t nh này m i s n cache thì có gi i h n nên vi c v n chuy n các kh i nh ph i gi i sàng cho b VXL. quy t ñư c b n câu h i cơ b n là: Ph i ñ m t kh i b nh vào Main ch nào c a cache hay cách s p x p kh i nh trong cache như th miss MMU Memory nào? Làm sao ñ tìm m t t nh trong kh i nh khi kh i này ñang n m trong cache ? Trong trư ng h p không tìm th y kh i nh c n thi t trong cache và cache ñã ñ y thì kh i nào ph i ñư c ñ y ra ð a ch c n Translation Kh i nh kh i cache ñ thay th kh i m i? và câu h i cu i cùng là vi c gì s truy c p function x y ra khi ghi kh i nh t cache ngư c l i vào b nh ? ð tr l i ð a ch cho các câu h i này ta ph i xem cách t ch c và v n hành c a trong cache Cache cache và n i dung này s ñư c trình bày trong ph n sau. hit 8.2.1. T CH C B NH CACHE T nh yêu c u ð hi u rõ s v n hành và t ch c b nh cache, trư c h t chúng ta s xem xét ch c năng ánh x hay tương ng ñ a ch gi a Hình 8.3. Sơ ñ ánh x ñ a ch các c p b nh . Trong ph n này ñ ñơn gi n hóa v n ñ ta xét các Có ba k thu t t ch c b nh cache là: ki u tương ng tr c c p b nh có hai m c, m c m t là b nh cache và m c hai là b ti p (Direct Mapping), ki u hoàn toàn ph i h p (Fully Associative nh trong (main memory). Nguyên lý ng d ng cho giao ti p gi a Mapping) và ki u ph i h p theo t p h p (Set – Associative các c p b nh s gi ng v i trư ng h p mà ta xem xét ñây. Mapping). Các k thu t này d a trên hai khía c nh chính: Yêu c u truy c p t i m t ph n t hay m t t nh ñư c phát – Cách ñ t vào cache m t kh i nh t b nh trong ra b i b VXL và ph n t này có th hi n t i ñang n m trong b – Cách thay th m t kh i cache (khi cache ñ y). nh cache trong trư ng h p cache hit, nhưng cũng có th tương Sau ñây ta s xem xét l n lư t t ng k thu t này m t cách t m . ng v i m t ph n t mà hi n t i nó không n m trong cache (cache miss) mà n m trong b nh trong. Do ñó c n ph i xác ñ nh ñ a ch 8.2.1.1. Ki u tương ng tr c ti p (Direct mapping) c a ph n t c n truy c p ñ xác ñ nh nó n m ñâu. Vi c xác ñ nh ðây là k thu t ñơn gi n nh t trong ba k thu t nêu trên. này ñư c m t ñơn v ch c năng trong CPU gi i quy t và ta g i là Theo k thu t này thì m i kh i b nh ch có m t v trí ñ t kh i ñơn v qu n lý b nh (memory management unit - MMU). Sơ ñ duy nh t trong cache ñư c xác ñ nh theo công th c: kh i c a ch c năng ánh x ñ a ch như trong hình 8.3. j = i mod N Như trên hình này, ñ a ch ñư c phát ra b i b VXL s ñư c MMU chuy n ñ i thành m t d ng ñ a ch tương ng và n u Trong ñó: ñ a ch này ñư c xác ñ nh là n m trong cache thì t nh c n truy j: v trí kh i ñ t trong cache c p s ñư c tr v cho b VXL. Trong trư ng h p ñ a ch c a t i: s th t c a kh i trong b nh trong nh c n truy c p không n m trong cache, mà n m trong b nh N: s kh i c a cache trong thì kh i b nh có ch a t này s ñư c chuy n vào trong 251 252
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh ñ c hay không. T t c các nhãn ñ u ñư c xem xét song song (trong Ví d 1: Gi s máy tính có b nh trong có 32 kh i, cache có 8 ki u tương ng tr c ti p và ph i h p theo t p h p) do ñó t c ñ tìm kh i, m i kh i g m 32 byte, kh i th 12 c a b nh trong ñư c ki m s r t cao. ð bi t xem m t kh i c a c a cache có ch a thông ñưa vào cache. tin mà b x lý c n tìm hay không, ngư i ta thêm m t bit ñánh d u Như v y theo công th c trên thì kh i nh th 12 s ñư c (valid bit) vào nhãn ñ nói lên kh i ñó có ch a thông tin mà b x ñưa vào cache v trí: lý c n tìm hay không. j = 12 mod 8 = 4 Như ñã ñ c p trên, v i thao tác ñ c (ghi) b nh , b x Ví d này ñư c minh h a trong hình 8.4 a). lý ñưa ra m t ñ a ch và nh n (vi t vào) m t d li u t (vào) b nh trong. ð a ch mà b x lý ñưa ra có th phân tích thành hai thành S th t 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 ph n: ph n nh n d ng s th t kh i và ph n xác ñ nh v trí t c n …….. 3 kh i 0 1 23 4 …….. 1 ñ c trong kh i. Tương ng v i ba ki u l p ñ t kh i ñã xét, ta có: Main memory Căn c vào s t trong m t kh i b nh mà s bit trong trư ng • ñ a ch s xác ñ nh v trí t c n ñ c trong kh i. Trư ng hip75 này cũng gi ng như vi c xác ñ nh ñ a ch tương ñ i trong b S th 0 1 2 3 4 5 67 nh . Cách tính này ñúng v i c ba cách x p ñ t kh i ñã xét. 0 1 2 3 4 5 67 0 1 2 3 4 5 67 t kh i Ph n nh n d ng s th t kh i s khác nhau tuỳ thu c vào cách • x p ñ t kh i, trư ng ch s kh i ñư c so sánh v i nhãn c a Cache cache ñ xác ñ nh kh i trong cache. TH0 TH2 D li u ñư c b x lý ñ c cùng lúc v i vi c ñ c nhãn. TH1 TH3 Ph n ch s kh i c a kh i trong b nh trong ñư c so sánh v i a) Tương ng b) Hoàn toàn c) Theo t p b ng tương quan ñ xác ñ nh kh i có n m trong cache hay tr c ti p ph i h p hp không. ð ch c r ng nhãn ch a thông tin ñúng ñ n (t c là kh i Hình 8.4. Các k thu t x p ñ t kh i nh trong cache có ch a t mà b x lý c n ñ c-ghi), n u vi c so sánh nhãn c a kh i cache gi ng v i s th t kh i, bit ñánh d u (Valid bit) Như v y, trong ki u x p ñ t kh i này, m i v trí ñ t kh i ph i ñư c b t lên. Ngư c l i, k t qu so sánh ñư c b qua. B trong cache có th ch a m t trong các kh i trong b nh cách nhau x lý căn c vào ph n xác ñ nh t trong kh i ñ ñ c (ghi) d 8 kh i. li u t (vào) cache. ð nh n di n m t kh i có n m trong cache hay không, m i Theo cách tương ng tr c ti p thì MMU s di n gi i ñ a ch kh i c a cache ñ u có m t nhãn ñ a ch cho bi t s th t c a các phát ra t CPU b ng cách chia ñ a ch thành 3 ph n như là trong kh i b nh trong ñang hi n di n trong cache. Nhãn c a m t kh i hình 8.5. Chi u dài tính b ng bit c a m i ph n trong ñó tính như b nh cache ch a ñ ng thông tin c n thi t ñ bi t ñư c kh i ñó có sau: n m trong cache hay không và có ch a thông tin mà b x lý c n 253 254
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh S bit trong trư ng ñ a ch b nh trong: – ð a ch t c n ñ c trong kh i (Word field) = log2B, B – kích thư c kh i theo t log 2 ( B.M ) = log 2 (16 × 4.210 ) = 16 bits – Ch s kh i cache ( Block field) = log2N, N-kích thư c Trong hình 8.7. ñưa ra minh h a gi i thích quá trình di n cache theo block gi i ñ a ch b i MMU theo các bư c sau: – Nhãn (Tag field) = log2(M/N), M-kích thư c b nh trong 1. S d ng Block field ñ xác ñ nh kh i b nh cache có ch a theo kh i t nh mà b VXL yêu c u – S bit trong trư ng ñ a ch b nh trong = log2(B.M) 2. Ki m tra s tương ng trong trư ng Tag memory và so sánh nó v i trư ng Tag field ñ xác ñ nh có hay không kh i ch a ð a ch b nh trong t nh c n thi t 3. N u có (cache hit) thì d a vào trư ng word field ñ l y ra t Ch s kh i trong b nh nh c n thi t cho b VXL ð a ch t c n ñ c trong 4. N u không có (cache miss) thì ph i ñem kh i nh có ch a t kh i Nhãn Ch s kh i cache c n truy c p t b nh trong vào cache. Hình 8.5.Các trư ng ñ a ch trong tương ng tr c ti p Ví d 2: Xét trư ng h p b nh trong ch a 4K kh i, b nh cache ch a 128 kh i và m i kh i có kích thư c 16 t nh . Hình 8.6 cho th y cách t ch c x p ñ t kh i nh theo ki u tương ng tr c ti p. Tag Cache Main memory 3 0 384 0 128 256 384 3968 1 1 129 1 129 257 385 3969 0 2 2 130 258 386 3970 126 126 31 127 4095 127 255 383 4095 0 1 2 3 31 Hình 8.6. Ánh x kh i b nh trong ñ n kh i b nh cache ð xác ñ nh s bit c a các trư ng trong ñ a ch b nh trong, ta áp d ng cách tính trên thì có: – Word field = log 2 B = log 2 16 = 4 bits Ch s kh i cache = log 2 N = log 2 128 = 7 bits – Nhãn = log 2 ( M / N ) = log 2 (4.210 / 128) = 5 bits – Hình 8.7. Chuy n ñ i ñ a ch tương ng tr c ti p 256 255
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh – Nhãn = log 2 M = log 2 (4.210 ) = 12 bits Ưu ñi m c a ki u tương ng tr c ti p là nó r t ñơn gi n, không c n S bit trong trư ng ñ a ch b nh trong: t n th i gian tìm ki m và các cơ ch thay th kh i nh cũng ñơn log 2 ( B.M ) = log 2 (16 × 4.210 ) = 16 bits gian. Như c ñi m ch y u là nó s d ng cache không hi u qu do Ưu ñi m c a phương pháp này là s d ng cache r t hi u qu . m t s kh i có th luôn luôn b thay ñ i trong khi có th m t s Trong b t kỳ trư ng h p nào n u m t kh i nh trong cache còn khác l i không ñư c dùng ñ n. Ví d như trư ng h p ví d 2 tr ng thi khi có yêu c u t b VXL ñ n m i kh i nh khác trong b trên, gi s b VXL yêu c u ñ n các kh i nh theo th t 0, 128, nh trong thì nó s ñư c ñ t vào kh i nh còn tr ng trong cache. 256, 384 và 3968. Như v y ch có kh i nh cache v trí s 0 ñư c Tr trư ng h p không còn kh i nào tr ng thì ph i áp d ng nguyên s d ng, trong khi các kh i nh khác tr ng. lý thay th kh i nh mà ta s xem xét trong các ph n sau. Tuy 8.2.1.2. Ki u hoàn toàn ph i h p (Fully Associative Mapping) nhiên như c ñi m c a phương pháp này là ñòi h i thi t k ph n c ng ph c t p nh m ñáp ng vi c tìm ki m kh i c n thi t ñư c M t kh i trong b nh trong có th ñư c ñ t vào v trí b t nhanh hơn. kỳ trong cache. T t nhiên ñ u tiên tìm ñ t vào các kh i nào còn tr ng, n u không còn kh i nào tr ng thì m i ph i áp d ng k thu t 8.2.1.3. Ki u ph i h p theo t p h p (Set – Associative Mapping) thay th kh i mà ta s xem xét sau. ví d 1 n u ñ t kh i nh theo Hai cách trình bày trên ñ u có nh ng ưu ñi m và như c cách này thì hình minh h a ñư c ch ra trong hình 8.4 b). ñi m nh t ñ nh và cách ph i h p theo t p h p nh m dung hòa các Theo cách này thì MMU s di n gi i ñ a ch phát ra t CPU ưu, như c ñi m c a c hai cách ñó. Theo ñó, cache bao g m các b ng cách chia ñ a ch thành 2 ph n như là trong hình 8.8. Chi u t p h p c a các kh i cache. M i t p h p c a các kh i cache ch a dài tính b ng bit c a m i ph n trong ñó tính như sau: s kh i như nhau. M t kh i c a b nh trong có th ñư c ñ t vào – ð a ch t c n ñ c trong kh i (Word field) = log2B, B – m t s v trí kh i gi i h n trong t p h p ñư c xác ñ nh b i công kích thư c kh i theo t th c: – Ch s kh i (hay nhãn - Tag field) = log2M, M- kích thư c b nh trong theo kh i j = i mod N – S bit trong trư ng ñ a ch b nh trong = log2(B.M) Trong ñó: j: v trí kh i ñ t trong cache ð a ch b nh trong i: s th t c a kh i trong b nh trong N: s kh i c a cache ð a ch t c n ñ c trong Ch s kh i trong b nh ví d 1 n u ñ t kh i nh theo cách này và n u m i t p kh i h p g m 2 kh i nh thì hình minh h a ñư c ch ra trong hình 8.4 Hình 8.8.Các trư ng ñ a ch trong hoàn toàn ph i h p c). Theo cách này thì MMU s di n gi i ñ a ch phát ra t CPU b ng cách chia ñ a ch thành 3 ph n như là trong hình 8.9. Chi u Như v y v i ví d 2 trên ta s có các thông s cho trư ng ñ a ch dài tính b ng bit c a m i ph n trong ñó tính như sau: như sau: – Word field = log 2 B = log 2 16 = 4 bits 257 258
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh – ð a ch t c n ñ c trong kh i (Word field) = log2 B ñ t kh i không có s l a ch n, nó ñư c xác ñ nh b i trư ng ch s kh i cache trong ñ a ch c a t c n ñ c (ghi). N u cache là ki u – Ch s t p h p (Set field) = log2 S, S – s t p h p trong hoàn toàn ph i h p hay ph i h p theo t p h p thì khi th t b i ph i cache. Ch s này ch ra s th t t p h p trong cache c n ch n l a thay th trong nhi u kh i. Có b n chi n thu t ch y u xem xét dùng ñ ch n kh i thay th trong cache: – Nhãn (Tag field) = log2 (M/S), S = N/Bs, Bs s kh i trong m t t p h p. Dùng ch s này ñ so sánh tương ng v i - Thay th ng u nhiên (RS:Random Selection): ñ phân nhãn c a các kh i cache thu c t p h p ñư c ch ra b i ph n b ñ ng ñ u vi c thay th , các kh i c n thay th trong cache ñư c ch s t p h p. ch n ng u nhiên. – S bit trong trư ng ñ a ch b nh trong = log2(B.M) - Kh i xưa nh t (LRU: Least Recently Used): các kh i ñã ð a ch b nh trong ñư c thâm nh p s ñư c ñánh d u và kh i b thay th là kh i không ñư c dùng t lâu nh t. Ch s kh i trong b nh ð a ch t c n ñ c trong - Vào trư c ra trư c (FIFO: First In First Out): Kh i ñư c kh i Nhãn Ch s t p h p ñưa vào cache ñ u tiên, n u b thay th , kh i ñó s ñư c thay th trư c nh t. Hình 8.9.Các trư ng ñ a ch trong ph i h p theo t p h p - T n s s d ng ít nh t (LFU: Least Frequently Used): Kh i trong cache ñư c tham chi u ñ n ít nh t . Nguyên t c này s Như v y v i ví d 2 trên ta, n u m i t p h p ch a 4 kh i thì ta s d ng h qu c a nguyên t c s d ng ô nh theo th i gian: n u các có các thông s cho trư ng ñ a ch như sau: kh i m i ñư c dùng có kh năng s ñư c dùng trong tương lai g n, – S t p h p trong cache S= 128/4 = 32 t p h p kh i b thay th là kh i không dùng trong th i gian lâu nh t. – Word field = log 2 B = log 2 16 = 4 bits 8.2.3. CHI N THU T GHI – Set field = log2 S=log232 = 5 bits – Nhãn = log 2 M / S = log 2 (4.210 / 32) = 7 bits Chúng ta ñã xem xét các v n ñ chính liên quan ñ n k S bit trong trư ng ñ a ch b nh trong: thu t ánh x gi a các c p b nh và chi n lư c thay th kh i nh . Còn m t v n ñ liên quan quan trong n a mà chúng ta s xem xét log 2 ( B.M ) = log 2 (16 × 4.210 ) = 16 bits trong ph n này ñó là s g n k t gi a các c p b nh mà trong 8.2.2. K THU T THAY TH KH I NH trư ng h p ñơn gi n chúng ta xem xét gi a cache và b nh trong. Câu h i ñ t ra là vi c gì s x y ra khi c n ghi vào b nh ? Như ñã trình bày trên, trong trư ng h p th t b i cache hay không tìm th y kh i nh trong cache thì m t v n ñ ñ t ra là kh i Thông thư ng b VXL thâm nh p cache ñ ñ c thông tin. nào ph i ñư c thay th )? Khi có th t b i cache, b ñi u khi n cache Ch có kho ng 15% các thâm nh p vào cache là ñ th c hi n thao thâm nh p vào b nh trong và chuy n kh i mà b x lý c n ñ c tác ghi (con s này là 33% v i các tính toán vectơ-vectơ và 55% (ghi) vào cache. Như v y, trong trư ng h p các kh i nh trong ñ i v i các phép d ch chuy n ma tr n). Như v y, ñ t i ưu hoá các cache ñ u không tr ng thì kh i nào trong cache s b thay th b i ho t ñ ng c a cache, các nhà thi t k tìm cách t i ưu hoá vi c ñ c kh i m i ñư c chuy n lên. ð i v i ki u tương ng tr c ti p, v trí b i vì các b x lý ph i ñ i ñ n khi vi c ñ c hoàn thành nhưng s 259 260
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh không ñ i ñ n khi vi c ghi hoàn t t. Hơn n a, m t kh i có th ñư c - Ghi có n p(write-allocate): kh i c n ghi t b nh trong ñ c, so sánh và như th vi c ñ c m t kh i có th ñư c b t ñ u khi ñư c n p vào trong cache như mô t trên. Cách này thư ng ñư c ch s kh i ñư c bi t. N u thao tác ñ c thành công, d li u ô nh dùng trong cách ghi l i. c n ñ c s ñư c giao ngay cho b x lý. C n chú ý r ng, khi m t - Ghi không n p(write-no-allocate): kh i ñư c thay ñ i kh i ñư c ánh x t b nh trong vào cache, vi c ñ c n i dung c a b nh trong không ñư c ñưa vào cache. Cách này ñư c dùng kh i cache không làm thay ñ i n i dung c a kh i so v i kh i còn trong cách ghi ñ ng th i. n m trong b nh trong. Trong các t ch c có nhi u hơn m t b x lý v i các t ð i v i vi c ghi vào b nh thì không gi ng như trên, vi c ch c cache và b nh chia s , các v n ñ liên quan ñ n tính ñ ng thay ñ i n i dung c a m t kh i không th b t ñ u trư c khi nhãn nh t c a d li u c n ñư c ñ m b o. S thay ñ i d li u trên m t ñư c xem xét ñ bi t có thành công hay th t b i. Thao tác ghi vào cache riêng l s làm cho d li u trên các h th ng cache và b nh b nh s t n nhi u th i gian hơn thao tác ñ c b nh . Trong vi c liên quan không ñ ng nh t. V n ñ trên có th ñư c gi i quy t ghi b nh còn có m t khó khăn khác là b x lý cho bi t s byte b ng m t trong các h th ng cache t ch c như sau: c n ph i ghi, thư ng là t 1 ñ n 8 byte. ð ñ m b o ñ ng nh t d M i b ñi u khi n cache s theo dõi các thao tác ghi vào b li u khi lưu tr , có hai cách chính ñ ghi vào cache: nh t các b ph n khác. N u thao tác ghi vào ph n b nh - Ghi ñ ng th (Write-through): Thông tin ñư c ghi ñ ng chia s ñư c ánh x vào cache c a nó qu n lý, b ñi u khi n th i vào kh i c a cache và kh i c a b nh trong. Cách ghi này cache s vô hi u hoá s thâm nh p này. Chi n lư c này ph làm ch m t c ñ chung c a h th ng. Các ngo i vi có th truy c p thu c vào cách ghi ñ ng th i trên t t c các b ñi u khi n b nh tr c ti p cache. - Ghi l i(Write-back): ð ñ m b o t c ñ x lý c a h M t vi m ch ñư c dùng ñ ñi u khi n vi c c p nh t, m t thao th ng, thông tin c n ghi ch ñư c ghi vào kh i trong cache. Vi c tác ghi vào b nh t m t cache nào ñó s ñư c c p nh t trên ghi vào b nh trong s b hoãn l i cho ñ n khi c n có thay th các cache khác. kh i. ð qu n lý s khác bi t n i dung gi a kh i c a cache và kh i M t vùng nh chia s cho m t hay nhi u b x lý thì không c a b nh trong, m t bit tr ng thái (Dirty bit hay Update bit) ñư c ñư c ánh x lên cache. Như v y, t t c các thâm nh p vào vùng dùng ñ ch th . Khi m t thao tác ghi vào trong cache, bit tr ng thái nh chia s này ñ u b th t b i cache. (Dirty bit hay Update bit) c a kh i cache s ñư c thi t l p. Khi m t kh i b thay th , kh i này s ñư c ghi l i vào b nh trong ch khi 8.2.4. CÁC LO I CACHE bit tr ng thái ñã ñư c thi t l p. V i cách ghi này, các ngo i vi liên Trong m t máy tính có th có nhi u lo i cache. M t s máy h ñ n b nh trong thông qua cache. Cách này làm tăng t c ñ c a dùng m t Cache duy nh t ñ ch a ñ ng th i c l nh và d li u, h th ng lên r t nhi u tuy nhiên vi c ñ ng nh t d li u gi a cache nhưng m t s máy l i s d ng Cache riêng l b ng cách s d ng và b nh trong ch ñư c ñ m b o vào th i gian thay th kh i. m t cache l nh riêng và m t cache d li u riêng (ví d Pentium, Khi có m t th t b i ghi vào cache (cache miss) thì ph i Pentium 4, Itanium, PowerPC 620, IBM SP,…). Gi i pháp dùng l a ch n m t trong hai gi i pháp sau: cache riêng l có l i là tránh các khó khăn do ki n trúc, khi thi 261 262
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh hành các l nh dùng k thu t ng d n như ñã trình bày trong chương Register – MDR). Thanh ghi MDR ñư c dùng ñ gi t m th i các trư c. d li u c n ghi vào (hay nh n ñư c t ) b nh trong, nơi có ñ a ch ñư c xác ñ nh trong thanh ghi MAR. Khi s d ng m t cache duy nh t, s có tranh ch p khi m t B nh trong l nh mu n thâm nh p m t s li u trong cùng m t chu kỳ c a giai CPU b ño n ñ c m t l nh khác. Cache riêng l còn giúp t i ưu hoá m i n n ñư ng ñ a ch lo i cache v m t kích thư c t ng quát, kích thư c các kh i và ñ 0 MAR A0-An-1 ph i h p các kh i. 1 b b ñư ng d li u Vi c dùng cache trong có th làm cho s cách bi t gi a kích MDR . D0-Db-1 thư c và th i gian thâm nh p gi a cache trong và b nh trong . . càng l n. ð linh ho t cho vi c thay ñ i kích thư c cache và làm Tín hi u ñi u khi n R /W gi m giá thành chung ngày nay ngư i ta thư ng dùng nhi u m c 2n-1 cache khác nhau: • Cache m c m t (L1 cache): thư ng là cache trong (on- Hình 8.10. Giao ti p cơ b n gi a CPU và b nh trong chip cache; n m bên trong CPU). Cache này có kích thư c nh nh t và vì n m g n CPU nh t nên d li u n m trên nó s ñư c x B nh trong (RAM – b nh truy c p ng u nhiên) ñư c lý nhanh nh t. ch t o b ng ch t bán d n và có c u trúc t o thành t nh ng hàng • Cache m c hai (L2 cache) thư ng là cache ngoài (off- và c t c a các ô nh cơ b n (basic cells), m i ô nh ch a ñ ng m t chip cache; cache này n m bên ngoài CPU). Như v y n u các CPU bít thông tin. Hình 8.11 cho ta th y m t mo hình t ch c b nh ñư c thi t k trên cùng m t lõi có th ñư c cài ñ t cache L2 có trong ñơn gi n ñư c c u t o t các hàng và c t c a các ô nh (cell). kích thư c khác nhau. Các ñư ng ñ a ch An −1 An − 2 ... A1 A0 ñư c dùng như ñ u vào c a b • Ngoài ra, trong m t s h th ng (PowerPC G4, IBM gi i mã ñ a ch theo ñó cho ra các ñư ng l a ch n hàng S/390 G4, Itanium c a Intel) còn có t ch c cache m c ba (L3 W2n−1 ...W1W0 . T i m t th i ñi m nh t ñ nh thì ch có m t trong các cache), ñây là m c cache trung gian gi a cache L2 và m t th b ñư ng W2n−1 ...W1W0 ñư c ch n và các ô nh thu c ñư ng này (hàng nh . này) s ñư c kích ho t ñ cho phép truy n thông tin t các ô nh ra 8.3. B NH TRONG (Main memory) các ñư ng d li u ho c chuy n thông tin t ñư ng d li u vào trong các ô nh B nh trong hay b nh chính như tên g i c a nó là b nh cung c p nơi lưu tr chính trong máy tính. Hình 8.10 cho ta th y sơ ñ kh i giao ti p cơ b n gi a b nh trong và CPU. Có hai thanh ghi ñ c bi t c a CPU ñư c dùng cho các thao tác gi a CPU và b nh trong ñó là thanh ghi ñ a ch b nh (Memory Address Register – MAR) và thanh ghi d li u b nh (Memory Data 263 264
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh ñi n. SRAM là b nh nhanh, vi c ñ c không làm hu n i dung c a ô nh và th i gian thâm nh p b ng chu kỳ b nh . RAM ñ ng dùng k thu t MOS. M i bit nh g m có m t transistor và m t t ñi n. Cũng như SRAM, vi c nh m t d li u là t n t i n u b nh ñư c cung c p ñi n. Vi c ghi nh d a vào vi c duy trì ñi n tích n p vào t ñi n và như v y vi c ñ c m t bit nh làm n i dung bit này b hu (do tu ñi n phóng ñi n tích). V y sau m i l n ñ c m t ô nh , b ph n ñi u khi n b nh ph i vi t l i ô nh ñó n i dung v a ñ c và do ñó chu kỳ b nh ñ ng ít nh t là g p ñôi th i gian thâm nh p ô nh . Vi c lưu gi thông tin trong bit nh ch là t m th i vì t ñi n s phóng h t ñi n tích ñã n p vào và như v y ph i làm tươi b nh sau m i vài mili giây. Làm tươi b nh là ñ c ô nh và vi t l i n i dung ñó vào l i ô nh . Vi c làm tươi ñư c th c hi n v i t t c các ô nh trong b nh . Vi c làm tươi b nh ñư c th c hi n t ñ ng b i m t vi m ch b nh . B ðư ng d li u nh DRAM ch m nhưng r ti n hơn SRAM. Hình 8.12. cho ta th y sơ ñ c u t o cơ b n c a m t bit nh c a hai lo i b nh này. Ô Hình 8.11. T ch c b nh trong trên CHIP ñơn gi n nh SRAM ch a m t trong hai tr ng thái b n v ng. Ví d trong hình 8.12 a) n u A = 1 thì transistor N2 s ñư c b t lên và nó ñóng B nh RAM ñư c g i là b nh truy c p ng u nhiên do có vai trò như m t dây d n kéo ñi n th t i ñi m B xu ng 0 (B = 0), ñ c tính là các ô nh có th ñư c ñ c ho c vi t vào trong kho ng ñi u ñó l i d n ñ n transistor P1 ñư c b t lên và kéo ñi n th A th i gian b ng nhau cho dù chúng b t kỳ v trí nào trong b nh . b ng ñi n th ngu n (A = 1). Ta g i tr ng thái b n v ng này là M i ô nh có m t ñ a ch , thông thư ng, m i ô nh là m t byte (8 tr ng thái 1, hay ô nh ñang ch a giá tr tương ng v i bit 1. L p bit), nhưng h th ng có th ñ c ra hay vi t vào nhi u byte (2,4, hay lu n tương t n u A = 0 ta s có tr ng thái tương ng v i bit 0. 8 byte). B nh trong ñư c ñ c trưng b ng dung lư ng và t ch c c a nó (s ô nh và s bit cho m i ô nh ), th i gian thâm nh p Khi ñ c d li u s theo các bư c: (th i gian t lúc ñua ra ñ a ch ô nh ñ n lúc ñ c ñư c n i dung ô - ðư ng d li u ñư c kích ho t và ñư c n p m c cao nh ñó) và chu kỳ b nh (th i gian gi a hai l n liên ti p thâm (b = 1). nh p b nh ). - ðư ng ñ a ch ñư c kích ho t (=1) làm b t 2 transistor Tuỳ theo công ngh ch t o, ngư i ta phân bi t RAM tĩnh (SRAM: N3 v à N4 . Static RAM) và RAM ñ ng (DRAM: Dynamic RAM). - Ph thu c vào ñi n th t i ñi m A mà ta ñ c ñư c giá RAM tĩnh ñư c ch t o theo công ngh ECL (CMOS và tr c a bit nh này. N u ñi n th t i A cao thì ñi n th BiCMOS). M i bit nh g m có các c ng logic v i ñ 6 transistor này chuy n sang ñư ng b làm ñi n th b cũng cao, hay MOS, vi c nh m t d li u là t n t i n u b nh ñư c cung c p 265 266
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh ta nh n ñư c giá tr bit nh là 1. Ngư c l i, n u ñi n DDR SDRAM (Double Data Rate SDRAM) là c i ti n c a b th t i A th p thì ñi n th ñư ng b s truy n qua ñi m nh SDRAM v i t c ñ truy n t i g p ñôi SDRAM nh vào A do ñó làm suy gi m ñi n th trên b và ta xác ñ nh vi c truy n t i hai l n trong m t chu kỳ b nh . T c ñ DDR ñư c bit nh có giá tr là 0. SDRAM ñ t t 200-400MHz. Trong th i gian g n ñây xu t hi n chu n RAM m i d a trên n n t ng DDR là DDR-II, DDR- L p lu n tương t cho trư ng h p ghi m t giá tr vào bit III có t c ñ cao hơn nh c i ti n thi t k . nh . RDRAM (Rambus RAM) là m t lo i DRAM ñư c thi t k v i k thu t hoàn toàn m i so v i k thu t SDRAM. RDRAM ho t ñ ng ñ ng b theo m t h th ng l p và truy n d li u theo m t hư ng. M t kênh b nh RDRAM có th h tr ñ n 32 chip DRAM. M i chip ñư c ghép n i tu n t trên m t module g i là RIMM (Rambus Inline Memory Module) nhưng vi c truy n d ðư ng ðư ng d d li u b li u gi a các m ch ñi u khi n và t ng chíp riêng bi t ch li u b không truy n gi a các chip v i nhau. Bus b nh RDRAM là ñư ng d n liên t c ñi qua các chip và module trên bus, m i module có các chân vào và ra trên các ñ u ñ i di n. Do ñó, n u các khe c m không ch a RIMM s ph i g n m t module liên ðư ng ñ a ch t c ñ ñ m b o ñư ng truy n ñư c n i li n. T c ñ RDRAM ñ t t 400-800MHz a) Ô nh SRAM ðư ng 8.4. B NH O ðư ng ñ a ch d li u Ngư i ta ñã s d ng cơ ch b nh o nh m gi i quy t v n ñ v kích thư c b nh v t lý không ñ ch a c h ñi u hành cùng v i các chương trình c a ngư i s d ng, ñ ng th i v n ñ các vùng nh ph i ñư c b o v m t cách ch c ch n ñ kh i b chương trình c a ngư i s d ng làm h ng. B nh o có ñư c d a trên s k t a) Ô nh DRAM h p các b nh v i t c ñ r t cao như b nh trong (RAM) và b nh có t c ñ ch m như b nh ph ( ñĩa c ng), ho t ñ ng dư i Hình 8.12. C u t o ô nh SRAM và DRAM s qu n lý c a MMU, sao cho dư i quan ñi m c a ngư i l p trình Trong các b nh RAM l i chia ra làm nhi u lo i cơ b n như sau: và ñ i v i ngư i s d ng thì t p h p các b nh trên ñư c quan ni m là m t b nh thu n nh t v i dung lư ng l n (g n ho c b ng SDRAM (Synchronous DRAM – DRAM ñ ng b ), m t d ng dung lư ng ñĩa c ng) nhưng l i làm vi c t c ñ cao (g n b ng DRAM ñ ng b bus b nh . T c ñ SDRAM ñ t t 66- t c ñ b nh trong). 133MHz (th i gian truy nh p b nh t 75ns-150ns). 267 268
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh C u trúc phân c p b nh ñư c minh h a như sơ ñ hình công cache, trong khi n u có l i trang thì có th ph i m t m t th i 8.13. gian g p 1000 l n khi không có l i trang. Trong các máy tính hi n ñ i 1 ño n có th có ñ l n t 1 byte ñ n 4GB còn 1 trang thông thư ng có ñ l n t 2KB ñ n 16 K bytes. ð truy c p ñ n b nh o ta dùng ñ a ch o (ñ a ch lôgic), còn truy nh p ñ n b nh v t lý ta ph i dùng ñ a ch v t lý. Khi c n truy c p ñ n m t ño n d li u nào ñó thì CPU phát ra m t yêu c u truy c p ñ n m t ñ a ch , ñó chính là ñ a ch o. MMU nh n ñ a ch o và d ch (chuy n ñ i) nó ra ñ a ch v t lý, ñ a ch này ñư c ñưa B nh o có th ñư c qu n lý b ng cách chia b nh thành lên bus ñ a ch ñ truy nh p b nh v t lý. các m ng nh có ñ l n tính theo ño n, cơ ch này g i là phân Tương t như khi làm vi c v i cache, ñ hi u rõ nguyên lý ño n (ñ i v i h Intel có t các b VXL 80286 tr ñi) ho c trang, v n hành c a b nh o, ta cũng ph i tr l i ñư c 4 câu h i cơ b n cơ ch này g i là phân trang ( ñ i v i h Intel có t các b VXL sau: 80386) tr ñi. Trong b nh o như v y, t ng m ng mã l nh và m ng d li u dùng cho chương trình hi n t i ñư c t i t ñĩa vào - M t kh i b nh ngoài s ñư c ñ t t i ñâu trong b nh b nh trong (RAM) và ñư c truy nh p ñ n b i b ñi u khi n c a trong? b nh khi c n thi t. N u chương trình ñang ch y c n ñ n m t - Làm th nào ñ tìm m t kh i khi nó ñang n m trong b m ng mã l nh hay m t m ng d li u nào ñó mà không ch a trong nh trong? RAM thì nó s ñư c t i vào RAM. N u RAM không còn ñ không - Kh i nào ph i ñư c thay th khi có th t b i trang? gian ñ ch a thì m t m ng nào ñó c a RAM s ñư c xác ñ nh theo - Vi c gì x y ra khi c n ghi s li u? các tiêu chu n nh t ñ nh ñ b ñ y l i ñĩa, như ng ch cho m ng ð ñ t m t kh i nh vào trong b nh trong cũng có 3 k ñang c n l y vào. thu t là tương ng tr c ti p, hoàn toàn ph i h p và ph i h p theo Cách ho t ñông c a b nh o gi a b nh chính và b nh t p h p. Vi c tr ng ph t b nh o khi có th t b i, tương ng v i ph r t gi ng nguyên lý ho t ñông gi a b nh cache và b nh vi c ph i thâm nh p vào ñĩa. Vi c thâm nh p này r t ch m nên chính mà ta ñã trình bày trong ph n trên. B nh RAM ñóng vai trò ngư i ta ch n phương án hoàn toàn ph i h p trong ñó các kh i là b nh ch a b n sao c a m t ph n b nh ph , b nh cache (trang) có th n m b t kỳ v trí nào trong b nh trong. Cách này dóng vai trò là b nh ch a b n sao c a m t ph n b nh chính. cho t l th t b i th p. Tuy có nguyên lý ho t ñông gi ng nhau nhưng s khác bi t l n ð tìm m t kh i nh ta c n phân bi t hai d ng ñ nh v , ñó là nh t là khi th t b i cache, s thay th m t kh i trong cache ñư c ñ nh v trang và ñ nh v ño n. ð a ch phát ra b i CPU là ñ a ch o ñi u khi n b ng ph n c ng, trong khi s thay th trong b nh o là và trong c hai lo i ñ nh v , ñ a ch này ñ u ch a m t trư ng ñ lưu ch y u do h ñi u hành. Ngoài ra khi th t b i cache thì th i gian b s th t trang ho c s th t ño n. ph t ch tương ñương v i kho ng 5-10 l n trong trư ng h p thành 269 270
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh Trong trư ng h p ñ nh v trang, d a vào b ng trang, ñ a ch kh i c a b nh trong. Kh i có thay ñ i thông tin, ñư c chép vào trong b nh v t lý ñư c xác ñ nh b ng cách ñ t k nhau s th c a ñĩa t n u kh i này b thay th . trang v t lý v i ñ a ch trong trang như trong hình 8.14. Trong trư ng h p ñ nh v ño n, d a vào thông tin trên b ng ño n, vi c ki m tra tính h p l c a ñ a ch ñư c ti n hành. ð a ch v t lý ñư c xác ñ nh b ng cách c ng ñ a ch ño n và ñ d i trong Limit Base ño n như trong hình 8.15. B nh ð a ch o trong p d CPU ðúng < s d + CPU ð a ch v t lý ð a ch Sai f d V t lý B nh TRAP v t lý s – ch s ño n d – ñ d i ño n Limit – Gi i h n t i ña c a ño n Base – ñ a ch cơ s c a ño n f Hình 8.15. Ánh x ñ a ch o sang ñ a ch v t lý trong ñ nh v ño n p – ch s trang d – ñ d i trang T NG K T • f – ch s khung trang (frame) Hình 8.14. Ánh x ñ a ch o sang ñ a ch v t lý trong Trong chương này ñã trình bày các ki n th c cơ b n v t ñ nh v trang ch c b nh trong máy tính. Qua ñó cho th y s khác bi t gi a các lo i b nh trong máy tính và các k thu t k t h p các lo i b nh , Khi có th t b i trang thì kh i c n ñư c thay th s tuân theo t b nh l n ch m, ñ n các b nh r t nh nhưng c c nhanh thành các chi n thu t thay th trang gi ng như các chi n thu t thay th m t không gian nh chung v i t c ñ cao và giá c ph i chăng. kh i trong cache g m có: Thay th ng u nhiên, Kh i xưa nh t, Vào Ngoài ra còn cung c p các ki n th c v thi t k và c u t o c a các trư c ra trư c, T n s s d ng ít nh t. tuy nhiên h u h t các h lo i b nh , qua ñó cung c p cho sinh viên các hi u bi t cơ b n v h th ng b nh trong máy tính. ñi u hành ngày nay ñ u c g ng dùng chi n thu t thay th kh i ít dùng g n ñây nh t (LRU: Least Recent Utilized) vì cho r ng ñây là kh i ít c n nh t. ð i v i chi n thu t trong b nh o thì luôn s d ng chi n thu t ghi l i (write-back), nghĩa là thông tin ch ñư c vi t vào trong 271 272
- Chương VIII: H th ng b nh Chương VIII: H th ng b nh CÂU H I VÀ BÀI T P CHƯƠNG VIII 8. Hãy nêu các nguyên nhân chính gây th t b i cache và cách h n ch nó? 9. Xét m t ma tr n s có kích thư c 4x8. Gi s m i s ñư c lưu 1. M c tiêu chính c a các c p b nh trong máy tính là gì? V sơ trong m t t và các ph n t c a ma tr n ñư c lưu theo th t c t ñ các c p b nh cơ b n. trong b nh t ñ a ch 1000 ñ n ñ a ch 1031. B nh cache g m 8 kh i v i m i kh i ch a ñư c 2 t . Ta cũng gi s dùng 2. Tính th i gian truy c p trung bình c a m t h th ng b nh có 3 chi n thu t thay th kh i là LRU. Hãy kh o sát s thay ñ i trong c p: cache, b nh trong và b nh ph n u th i gian truy c p cache (s thay ñ i trong các kh i nh trong cache) trong 3 k vào t ng lo i b nh tương ng là 20 ns, 100 ns và 1 ms bi t thu t t ch c b nh n u CPU yêu c u truy c p l n lư t ñ n các r ng t s thành công c a cache là 90% và b nh trong là 95%. ph n t theo th t sau: 3. Hãy xác ñ nh s bit c a các trư ng trong ñ a ch b nh trong a0,0, a0,1, a0,2, a0,3, a0,4, a0,5, a0,6, a0,7 ví d 1 trong 3 trư ng h p ánh x . Trong trư ng h p ph i h p theo t p h p, gi s m i t p h p g m 2 kh i nh . a1,0, a1,1, a1,2, a1,3, a1,4, a1,5, a1,6, a1,7 4. Nêu và gi i thích các nguyên t c v n hành c a cache. 10. Hãy cho bi t s khác nhau gi a SRAM và DRAM? 5. V sơ ñ chuy n ñ i ñ a ch cho ví d 2 trong trư ng h p ph i 11. T i sao ph i dùng b nh o?cho bi t s khác bi t cơ b n gi a h p hoàn toàn như trên hình 8.7 và gi i thích cơ ch ho t ñ ng cache và b nh o? c a nó. 6. V sơ ñ chuy n ñ i ñ a ch cho ví d 2 trong trư ng h p ph i h p theo t p h p n u m i t p h p g m 4 kh i như trên hình 8.7 và gi i thích cơ ch ho t ñ ng c a nó. 7. Cho m t b nh cache tương ng tr c ti p có 8 kh i, m i kh i có 16 byte. B nh trong có 64 kh i. Gi s lúc kh i ñ ng máy, 8 kh i ñ u tiên c a b nh trong ñư c ñưa lên cache. a. Vi t b ng nhãn c a các kh i hi n ñang n m trong cache b. CPU l n lư t ñưa các ñ a ch sau ñây ñ ñ c s li u: O4AH, 27CH, 3F5H. N u th t b i thì c p nh t bãng nhãn. c. CPU dùng cách ghi l i. Khi th t b i cache, CPU dùng cách ghi có n p. Mô t công vi c c a b qu n lý cache khi CPU ñưa ra các t sau ñây ñ ghi vào b nh trong: 0C3H, 05AH, 1C5H. 273 274
- Ki n trúc máy tính – Vũ ð c Lung Ki n trúc máy tính – Vũ ð c Lung 3.2. Lư ng thông tin và s mã hóa thông tin 78 PH L C 3.3. H th ng s 79 3.4. Các phép tính s h c cho h nh phân 85 Trang 3.4.1. Phép c ng nh phân không d u 85 1 L i nói ñ u 3.4.2. Phép tr nh phân không d u 86 3 Chương I: Gi i thi u 3.4.3. Phép nhân và chia hai s nh phân không d u 87 3.4.4. Bi u di n s nguyên có d u 88 1.1. L ch s phát tri n c a máy tính 3 3.4.5. S bù c a m t s 89 1.1.1. Th h zero-máy tính cơ h c (1642-1945) 3 3.4.6. Phép c ng tr nh phân dùng bù 1 92 1.1.2. Th h I – bóng ñèn ñi n (1945-1955) 4 3.4.7. Phép c ng tr nh phân dùng bù 2 93 1.1.3. Th h II – transistor (1955-1965) 9 3.5. S quá n (excess-n) 94 1.1.4. Th h III – m ch tích h p (1965-1980) 13 3.6. Cách bi u di n s v i d u ch m ñ ng 95 1.1.5. Th h IV – máy tính cá nhân (1980-ñ n nay) 16 3.7. Bi u di n s BCD 98 1.2. Kh i các nư c XHCN và Vi t Nam 18 3.8. Bi u di n các ký t 100 1.3. Khuynh hư ng hi n t i 21 Câu h i và bài t p chương III 101 1.4. Phân lo i máy tính 23 103 Chương IV: M ch Logic s 1.5. Các dòng Intel 24 4.1. C ng và ñ i s Boolean 103 Câu h i và bài t p chương I 31 4.1.1. C ng (Gate) 103 32 Chương II: Các b ph n cơ b n c a máy tính 4.1.2. ð i s Boolean 108 2.1. B x lý (CPU) 32 4.2. B n ñ Karnaugh 122 2.2. B n m ch chính (Mainboard) 41 4.3. Nh ng m ch Logic s cơ b n 135 2.3. ñĩa m m (FDD) 48 4.3.1. M ch tích h p (IC-Intergrate Circuit) 135 2.4. ñĩa c ng (HDD) 50 4.3.2. M ch k t h p (Combinational Circuit) 137 2.5. CD và DVD 53 4.3.3. B d n kênh-b phân kênh 138 2.6. B nh RAM và ROM 55 4.3.4. M ch c ng (Adder) 142 2.7. Bàn phím (Keyboard) 59 4.3.5. M ch gi i mã và mã hóa 144 2.8. Chu t (Mouse) 60 Câu h i và bài t p chương IV 151 2.9. Card màn hình (VGA Card) 63 155 Chương V: M ch tu n t 2.10. Màn hình (Monitor) 66 5.1. Xung ñ ng h 155 2.11. Card m ng (Network adapter) và Modem 74 5.2. M ch l t (ch t – latch) 156 Câu h i và bài t p chương II 76 5.2.1. M ch l t SR (SR-latch) 157 5.2.2. M ch l t D 160 77 Chương III: Bi u di n d li u 5.2.3. M ch l t JK 161 3.1. Khái ni m thông tin 77 5.3.4. M ch l t T 161 275 276
- Ki n trúc máy tính – Vũ ð c Lung Ki n trúc máy tính – Vũ ð c Lung 5.3. M ch l t l (Flip-flop) 162 8.2.2. K thu t thay th kh i nh 259 5.4. M ch tu n t 165 8.2.3. Chi n thu t ghi 260 Bài t p chương V 173 8.2.4. Các lo i cache 262 175 8.3. B nh trong (Main memory) 263 Chương VI: Ki n trúc b l nh 6.1. Phân lo i ki n trúc b l nh 175 8.4. B nh o (Virtual memory) 268 6.2. ð a ch b nh 179 Câu h i và bài t p chương VIII 273 6.3. Mã hóa t p l nh 181 Ph l c 275 6.3.1. Các tiêu chu n thi t k d ng th c l nh 182 Tài li u tham kh o 279 6.3.2. Opcode m r ng 184 6.3.3. Ví d v d ng th c l nh 187 6.3.4. Các ch ñ l p ñ a ch 191 6.4. B l nh 201 6.4.1. Nhóm l nh truy n d li u 203 6.4.2. Nhóm l nh tính toán s h c 204 6.4.3. Nhóm l nh Logic 206 6.4.4. Nhóm các l nh d ch chuy n 207 6.4.5. Nhóm các l nh có ñi u ki n và l nh nh y 209 6.5. C u trúc l nh CISC và RISC 212 Câu h i và bài t p chương VI 216 218 Chương VII: T ch c b x lý 7.1. T ch c b x lý trung tâm 218 7.2. B ñi u khi n 221 7.3. B thanh ghi 224 7.4. ðư ng ñi d li u (Datapath) 227 7.4.1. T ch c One-Bus 228 7.4.2. T ch c Two-Bus, Three-Bus 229 7.5. Di n ti n thi hành l nh mã máy 231 7.6. X lý ng t (Interrupt Handling) 236 7.7. K thu t ng d n (Pipeline) 238 Câu h i và bài t p chương VII 244 245 Chương VIII: H th ng b nh 8.1. Các c p b nh 245 8.2. B nh cache (Cache memory) 248 8.2.1. T ch c b nh cache 251 277 278
- Ki n trúc máy tính – Vũ ð c Lung TÀI LI U THAM KH O 1. Nguy n Minh Tu n, Ki n trúc máy tính (giáo trình lư c gi n), V3.7, Trư ng ðH Khoa h c t nhiên tp. HCM 2. C u trúc máy tính cơ b n, t ng h p và biên d ch VN-Guide, nhà xu t b n th ng kê. 3. Võ ð c Khánh ,Ki n trúc máy tính, ThS. Võ ð c Khánh 4. Võ Văn Chín, Nguy n H ng Vân, Ph m H u Tài. Giáo trình ki n trúc máy tính. ðH C n Thơ, 2003. 5. M. Abd-El-Barr, H. El-Rewini, Fundamentals of Computer Organization and Architecture, Wiley, 2005 6. Patterson, D. A., and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 3rd ed. San Mateo, CA: Morgan Kaufman, 2004 7. Robert Bruce Thompson, Barbara Fritchman Thompson, Repairing and Upgrading Your PC, O’Reilly, 2006 8. William Stallings. Computer Organization & Architecture (Designing for performance), Sixth edition, Pearson Education, 2003 9. M. Abd-El-Barr, H. El-Rewini, Advanced Computer Architecture and Parallel Processing, Wiley, 2005 279
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Kiến trúc máy tính - TS. Vũ Đức Lung
143 p | 1772 | 575
-
Giáo trình: Kiến trúc máy tính - Vũ Đức Lung
191 p | 305 | 81
-
Bài giảng Kiến trúc máy tính: Chương 2 - TS. Vũ Đức Lương
25 p | 265 | 37
-
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 8
13 p | 87 | 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 7
13 p | 93 | 22
-
kiến trúc máy tính Vũ Đức Lung phần 9
12 p | 100 | 22
-
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 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 2 - TS. Vũ Đức Lung
50 p | 267 | 21
-
Bài giảng Kiến trúc máy tính: Chương 1 - TS. Vũ Đức Lung
48 p | 89 | 7
-
Bài giảng Kiến trúc máy tính: Chương 4 - TS. Vũ Đức Lung
36 p | 73 | 6
-
Bài giảng Kiến trúc máy tính: Chương 6 - TS. Vũ Đức Lung
34 p | 79 | 5
-
Bài giảng Kiến trúc máy tính: Chương 6 - Vũ Đức Lung
31 p | 43 | 5
-
Bài giảng Kiến trúc máy tính: Chương 1 - Vũ Đức Lung
40 p | 52 | 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