Bài giảng Kiến trúc máy tính - Chương 3: Hệ thống nhớ máy tính - Vũ Thị Thu Hiền

pdf 106 trang hoanguyen 3070
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 3: Hệ thống nhớ máy tính - Vũ Thị Thu Hiền", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

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

  • pdfbai_giang_kien_truc_may_tinh_chuong_3_he_thong_nho_may_tinh.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 3: Hệ thống nhớ máy tính - Vũ Thị Thu Hiền

  1. KiÕn tróc m¸y tÝnh Ch¬ng 3- Hệ thống nhớ máy tính thuhienktv@gmail.com 1
  2. Néi dung về hệ thống nhớ . Tæng quan vÒ hÖ thèng nhí . Bé nhí b¸n dÉn . Bé nhí chÝnh . Bé nhí cache . Bé nhí ngoµi. 2
  3. 1. Tổng quan về hệ thống nhớ Bộ nhớ (memmory) là không gian làm việc của bộ vi xử lý. Đó là nơi cất giữ tạm thời các chương trình và dữ liệu đang được thao tác với bộ vi xử lý. Việc lưu trữ bộ nhớ được xem tạm thời vì dữ liệu chỉ tồn tại trong thời gian máy đang hoạt động và không bị khởi động lại. Trước khi khởi động lại hay tắt máy, dữ liệu đã thay đổi cần được ghi vào các thiết bị lưu trữ lâu dài – storage – (thường là ổ đĩa cứng) để sau này có thể nạp lại vào bộ nhớ. 3
  4. Tổng quan về hệ thống nhớ Một điểm quan trọng mà chúng ta cần ghi nhớ đó là: một file khi được nạp vào trong bộ nhớ, nó chỉ là bản sao của file đó, còn thực chất file đó vẫn tồn tại trong ổ đĩa. Vì tính chất tạm thời của bộ nhớ cho nên file đã bị thay đổi cần được ghi lại vào đĩa cứng trước khi tắt máy, vì khi tắt máy dữ liệu trong bộ nhớ sẽ bị xoá. 4
  5. Tổng quan về hệ thống nhớ Bộ nhớ lưu trữ các chương trình đang chạy và dữ liệu của chúng sử dụng. Các chip nhớ có lúc được gọi là “lưu trữ không ổn định” (volatile storage) bởi vì khi tắt máy hoặc có sự cố về nguồn điện, lưu trữ trong RAM sẽ bị mất. Vì bản chất bất ổn định như vậy cho nên nhiều người dùng có thói quen ghi lại thường xuyên (một số chương trình ứng dụng có thể ghi một cách tự động theo thời gian đã định). 5
  6. 2. C¸c ®Æc trng cña hÖ thèng nhí . VÞ trÝ (location) „ Bªn trong Bé xö lý: TËp c¸c thanh ghi, cache „ Bé nhí trong: Bé nhí chÝnh Bé nhí cache „ Bé nhí ngoµi: C¸c thiÕt bÞ nhí, §Üa tõ, b¨ng tõ §Üa quang . Dung lîng (capacity) „ §é dµi tõ nhí (®¬n vÞ lµ bit)- KÝch thíc trªn 1 ®¬n vÞ lu tr÷. „ Sè lîng tõ nhí- Dung lîng bé nhí 6
  7. C¸c ®Æc trng cña hÖ thèng nhí . §¬n vÞ truyÒn (unit of transfer) „ TruyÒn theo tõ nhí- TruyÒn tuÇn tù tõng Word „ TruyÒn theo khèi nhí- TruyÒn 1 khèi gåm n Word . HiÖu n¨ng „ Thêi gian truy cËp. „ Chu kú truy xuÊt bé nhí. „ Tèc ®é truyÒn. 7
  8. C¸c ®Æc trng cña hÖ thèng nhí . Ph¬ng ph¸p truy nhËp (access method) „ Truy nhËp tuÇn tù (b¨ng tõ)- §Ó ®Õn ®îc ®iÓm n ®Çu tõ ph¶i duyÖt qua n-1 vÞ trÝ tríc. „ Truy nhËp trùc tiÕp (®Üa tõ, ®Üa quang)- §Çu tõ di chuyÓn trùc tiÕp ®Õn vÞ trÝ cÇn ®äc. „ Truy nhËp ngÉu nhiªn (bé nhí trong)- « nhí cÇn ®äc sÏ ®îc gi¶i m· ®Ó lÊy th«ng tin ngay lËp tøc. „ Truy nhËp liªn kÕt (bé nhí cache)- Truy cËp th«ng qua b¶n sao cña « nhí cÇn ®äc. 8
  9. C¸c ®Æc trng cña hÖ thèng nhí . KiÓu vËt lý cña bé nhí (physical type) „ Bé nhí b¸n dÉn- Lu tr÷ b»ng ®iÖn „ Bé nhí tõ- Lu tr÷ dïng tõ tÝnh. „ Bé nhí quang: Lu tr÷ sö dông c«ng nghÖ Laze . C¸c ®Æc trng vËt lý (physical characteristics) „ Bé nhí kh¶ biÕn / kh«ng kh¶ biÕn „ Bé nhí xãa ®îc / kh«ng xãa ®îc 9
  10. 3. M« h×nh ph©n cÊp hÖ thèng nhí Việc trao đổi dữ liệu giữa BVXL và BNC là một thao tác quan trọng, chiếm đa số trong các lệnh xử lý dữ liệu nên nó quyết định hiệu suất của hệ thống VXL nói chung và máy tính nói riêng. Bộ nhớ chính và bộ nhớ ngoài thường có tốc độ trao đổi dữ liệu chậm (chênh lệch) hơn so với tốc độ làm việc của CPU (kể cả việc vận chuyển dữ liệu trong BVXL). Để nâng cao tốc độ xử lý dữ liệu chung của toàn hệ thống, người ta tìm cách nâng cao tốc độ trao đổi dữ liệu (kể cả lệnh) giữa BVXL và bộ nhớ. Dựa trên nguyên lý cục bộ về không gian và thời gian mà người ta xây dựng hệ thống nhớ 5 cấp như sau: 10
  11. 3. M« h×nh ph©n cÊp hÖ thèng nhí Capacity Upper Level Access Time Staging Cost Xfer Unit faster CPU Registers 100s Bytes Registers 1s ns Instr. Operands prog./compiler 1-8 bytes Cache K Bytes 4 ns Cache 1-0.1 cents/bit cache cntl Blocks 8-128 bytes Main Memory M Bytes Memory 100ns- 300ns $.0001-.00001 cents /bit OS Pages 512-4K bytes Disk G Bytes, 10 ms (10,000,000 ns) Disk 10 - 10 cents/bit -5 -6 user/operator Files Mbytes Tape Larger infinite sec-min Tape Lower Level 10 -8 11
  12. 3. M« h×nh ph©n cÊp hÖ thèng nhí Cấp 0: Tập các thanh ghi nằm trong bộ vi xử lý. Thanh ghi là bộ nhớ kiểu SRAM nên tác động nhanh và thông tin ổn định. Đây là thành phần nhớ có tốc độ trao đổi dữ liệu nhanh nhất trong hệ thống vì nó gần ALU và CU. Tuy nhiên nó có dung lượng nhỏ. 12
  13. 3. M« h×nh ph©n cÊp hÖ thèng nhí Cấp 1: Primary cache (cache sơ cấp): Là bộ nhớ có tốc độ trao đổi dữ liệu rất nhanh (nhỏ hơn thanh ghi), có dung lượng nhỏ và được đặt trong bộ vi xử lý, nhưng cũng có thể nằm ngoài bộ vi xử lý. Trong các bộ vi xử lý tiên tiến, bộ nhớ cache thường được tách (chia) làm 2 với mục đích tránh xung đột trong xử lý song song (đại diện là pipeline) là Icache: dành cho lệnh và Dcache: dành cho dữ liệu. 13
  14. 3. M« h×nh ph©n cÊp hÖ thèng nhí Cấp 2: Secondary cache (cache thứ cấp): Cũng giống như Primary cache, nhưng loại này nằm ngoài bộ vi xử lý. Nó chỉ có khi có Primary cache (ngược lại, nó chính là Primary cache). Dung lượng của Secondary cache thường lớn hơn Primary cache và nhỏ hơn bộ nhớ. 14
  15. 3. M« h×nh ph©n cÊp hÖ thèng nhí Cấp 3: Main Memory (Bộ nhớ chính): Chứa chương trình và dữ liệu đang hoạt động. BN này được BVXL đánh địa chỉ trực tiếp và quản lý thông qua địa chỉ đó. Một phần của chương trình đang được thi hành có thể nằm trong cache (lệnh và dữ liệu) nhằm tăng tốc độ hoạt động của hệ thống. Dung lượng của BN chính thường lớn hơn rất nhiều lần dung lượng BN cache. Như đã biết, trong các hệ thống máy tính hiện đại ngày nay thì BNC thường là DRAM. 15
  16. 3. M« h×nh ph©n cÊp hÖ thèng nhí Cấp 4: Secondary memory (Bộ nhớ thứ cấp – bộ nhớ ngoài): Bộ nhớ này có dung lượng rất lớn nhưng tốc độ trao đổi dữ liệu chậm. Bộ nhớ này để lưu trữ chương trình và dữ liệu một cách lâu dài, cho nhiều người sử dụng (ghi/đọc, mất nguồn điện vẫn còn thông tin). Đại diện cho các bộ nhớ loại này đó chính là các ổ đĩa cứng, mềm CD ROM, CD – WOM, CD WR, băng từ, 16
  17. 3. M« h×nh ph©n cÊp hÖ thèng nhí Bé xö lý TËp Bé Bé Cache Cache thanh nhí nhí L1 L2 ghi chÝnh ngoµi Tõ tr¸i sang ph¶i: „ Dung lîng t¨ng dÇn „ Tèc ®é trao ®æi d÷ liÖu gi¶m dÇn „ Gi¸ thµnh /1 bit gi¶m dÇn „ TÇn suÊt BXL truy nhËp gi¶m dÇn „ Møc tr¸i chøa mét phÇn d÷ liÖu cña møc ph¶i 17
  18. 4. Bé nhí b¸n dÉn . Ph©n lo¹i . Tæ chøc chip nhí b¸n dÉn . ThiÕt kÕ c¸c modul nhí b¸n dÉn . Bµi tËp 18
  19. Bé nhí b¸n dÉn KiÓu bé nhí Tiªu chuÈn Kh¶ n¨ng xãa C¬ chÕ ghi TÝnh thay ®æi Read Only Memory (ROM) Bé nhí Kh«ng MÆt n¹ Programmable ROM chØ ®äc xãa ®îc (PROM) Erasable PROM B»ng tia cùc tÝm, Kh«ng (EPROM) Bé nhí c¶ chip kh¶ biÕn Electrically Erasable PROM hÇu nh B»ng ®iÖn, (EEPROM) chØ ®äc møc tõng byte B»ng ®iÖn Flash memory B»ng ®iÖn, Bé nhí tõng khèi Random Access Memory ®äc - ghi B»ng ®iÖn, Kh¶ biÕn (RAM) tõng byte 19
  20. ROM (Read Only Memory) . Lµ lo¹i bé nhí kh«ng kh¶ biÕn . Lu tr÷ c¸c th«ng tin: „ Th viÖn c¸c ch¬ng tr×nh con „ C¸c ch¬ng tr×nh hÖ thèng (BIOS) „ C¸c b¶ng chøc n¨ng „ Vi ch¬ng tr×nh 20
  21. C¸c kiÓu ROM . ROM mÆt n¹ (ROM cè ®Þnh): „ Th«ng tin ®îc ghi ngay khi s¶n xuÊt „ RÊt ®¾t . PROM (Programmble ROM): „ Khi s¶n xuÊt cha ghi d÷ liÖu „ CÇn thiÕt bÞ chuyªn dïng ®Ó ghi b»ng ch¬ng tr×nh, chØ ghi ®îc mét lÇn . EPROM (Erasable PROM): „ Khi s¶n xuÊt cha ghi d÷ liÖu „ CÇn thiÕt bÞ chuyªn dông ®Ó ghi b»ng ch¬ng tr×nh, ghi ®- îc nhiÒu lÇn „ Tríc khi ghi l¹i, ph¶i xãa b»ng tia cùc tÝm 21
  22. C¸c kiÓu ROM . EEPROM (Electrically Erasable PROM): „ Cã thÓ ghi theo tõng byte „ Xãa b»ng ®iÖn „ Ghi l©u h¬n ®äc . Flash memory (bé nhí cùc nhanh) „ Ghi theo khèi „ Xãa b»ng ®iÖn 22
  23. RAM (Random Access Memory) . Bé nhí ®äc / ghi . Kh¶ biÕn . Lu tr÷ th«ng tin t¹m thêi . Cã hai lo¹i RAM: „ SRAM (Static RAM) „ DRAM (Dynamic RAM) 23
  24. C¸c kiÓu RAM . DRAM „ C¸c bit ®îc lu tr÷ trªn tô ®iÖn cÇn ph¶i cã m¹ch lµm t¬i „ CÊu tróc ®¬n gi¶n „ Dung lîng lín „ Tèc ®é chËm h¬n SRAM „ RÎ h¬n SRAM „ Dïng lµm bé nhí chÝnh 24
  25. C¸c kiÓu RAM . SRAM „ C¸c bit ®îc lu tr÷ b»ng c¸c Flip-Flop „ Kh«ng cÇn m¹ch lµm t¬i „ CÊu tróc phøc t¹p h¬n DRAM „ Dung lîng nhá „ Tèc ®é nhanh h¬n DRAM „ §¾t h¬n DRAM „ Dïng lµm bé nhí cache 25
  26. VÝ dô vÒ DRAM 26
  27. Tæ chøc « nhí §iÒu khiÓn §iÒu khiÓn Chän D÷ liÖu vµo Chän D÷ liÖu ra ¤ nhí ¤ nhí a) Ghi b) §äc . ¤ nhí lµ phÇn tö nhí ®îc 1 bit th«ng tin . C¸c tÝn hiÖu: „ TÝn hiÖu chän ®îc göi ®Õn ®Ó chän « nhí „ TÝn hiÖu ®iÒu khiÓn chØ thÞ viÖc ghi hay ®äc „ TÝn hiÖu thø ba lµ ®êng d÷ liÖu 27
  28. Tæ chøc cña chip nhí (SRAM) A 0 D0 A D 1 . 1 . . . Chip nhí . . . A n - 1 . CS Dm - 1 RD WR 28
  29. C¸c tÝn hiÖu cña chip nhí (SRAM) n . C¸c ®êng ®Þa chØ: A0  An - 1 cã 2 ng¨n nhí. . C¸c ®êng d÷ liÖu: D0  Dm - 1 ®é dµi ng¨n nhí lµ m bit. . Dung lîng chip nhí: 2n x m bit . C¸c ®êng ®iÒu khiÓn: „ TÝn hiÖu chän chip: CS (Chip Select)/CE „ TÝn hiÖu ®iÒu khiÓn ®äc: RD / OE „ TÝn hiÖu ®iÒu khiÓn ghi: WR / WE 29
  30. Tæ chøc cña DRAM . Dïng n ®êng ®Þa chØ dån kªnh cho phÐp truyÒn 2n bit ®Þa chØ . TÝn hiÖu chän ®Þa chØ hµng RAS (Row Address Select) . TÝn hiÖu chän ®Þa chØ cét CAS (Column Address Select) . Dung lîng cña DRAM: 22n x m bit 30
  31. VÝ dô: chip 16Mb DRAM (4M x 4 bit) 31
  32. C¸c chip nhí (nh×n bªn ngoµi) 32
  33. ThiÕt kÕ modul nhí b¸n dÉn . Dung lîng chip nhí lµ 2n x m bit . CÇn thiÕt kÕ ®Ó t¨ng dung lîng: „ T¨ng ®é dµi ng¨n nhí (t¨ng m) „ T¨ng sè lîng ng¨n nhí (t¨ng n) „ KÕt hîp c¶ hai lo¹i (t¨ng m vµ n) 33
  34. T¨ng ®é dµi ng¨n nhí . VÝ dô 1: „ Cho chip nhí SRAM: 8K x 4 bit „ H·y thiÕt kÕ modul nhí 8K x 8 bit . Gi¶i: „ Dung lîng chip nhí: 213 x 4 bit „ Chip nhí cã: 13 ®êng ®Þa chØ (A0  A12), 4 ®êng d÷ liÖu (D0  D3) „ Modul nhí cÇn cã: 13 ®êng ®Þa chØ (A0  A12), 8 ®êng d÷ liÖu (D0  D7) 34
  35. H×nh vÏ (vÝ dô 1) A0  A12 A0  A12 A0  A12 8K x 4 bit 8K x 4 bit D4D7 D0  D3 D0  D3 D0D3 CS CS WE OE WE OE CS WE OE 35
  36. T¨ng ®é dµi ng¨n nhí Bµi to¸n t¨ng ®é dµi tæng qu¸t: . Cho chip nhí 2n x m bit . CÇn thiÕt kÕ modul nhí 2n x (k.m) bit CÇn ghÐp nèi k chip nhí (k>=1) 36
  37. T¨ng sè lîng ng¨n nhí . VÝ dô 2: „ Cho chip nhí SRAM: 4K x 4 bit „ H·y thiÕt kÕ modul nhí 8K x 4 bit . Gi¶i: „ Dung lîng chip nhí: 212 x 4 bit „ Chip nhí cã: 12 ®êng ®Þa chØ (A0  A11), 4 ®êng d÷ liÖu (D0  D3) „ Modul nhí cÇn cã: 13 ®êng ®Þa chØ (A0  A12), 4 ®êng d÷ liÖu (D0  D3) 37
  38. H×nh vÏ (vÝ dô 2) A0  A11 A0A11 D0D3 CS A 12 A Y0 WE OE D0  D3 A A CS G Y1 0 11 D0D3 G A Y1 Y0 CS 0 0 0 1 WE OE 0 1 1 0 WE 1 X 1 1 OE 38
  39. T¨ng sè lîng ng¨n nhí . Bµi to¸n t¨ng sè lîng tæng qu¸t: . Cho chip nhí 2n x m bit . CÇn ghÐp nèi modul nhí: 2k+n x m bit CÇn ghÐp nèi 2k chip vµ ph¶i dïng bé gi¶i m· k: 2k (k 2k) 39
  40. T¨ng sè lîng vµ ®é dµi ng¨n nhí . VÝ dô 3: „ Cho chip nhí SRAM: 8K x 4 bit „ H·y thiÕt kÕ modul nhí 16K x 8 bit . Gi¶i: „ Dung lîng chip nhí: 213 x 4 bit „ Chip nhí cã: 13 ®êng ®Þa chØ (A0  A12), 4 ®êng d÷ liÖu (D0  D3) „ Modul nhí cÇn cã: 14 ®êng ®Þa chØ (A0  A13), 8 ®êng d÷ liÖu (D0  D7) 40
  41. H×nh vÏ (vÝ dô 3) A0A12 A0A12 A0A12 D0D7 D0D3 D0D3 CS CS A13 A Y0 WE OE WE OE CS A0A12 A0A12 G Y1 D D D0D3 D0D3 0 7 CS CS WE OE WE OE WE OE 41
  42. T¨ng sè lîng vµ ®é dµi ng¨n nhí . Bµi to¸n t¨ng sè lîng vµ ®é dµi tæng qu¸t: . Cho chip nhí 2n x m bit . CÇn ghÐp nèi modul nhí: 2p+n x (q.m) bit CÇn ghÐp nèi q.2p chip thµnh 2p bé, mçi bé q chip vµ ph¶i dïng bé gi¶i m· p: 2p (p 2p) 42
  43. 5. Bé nhí chÝnh . C¸c ®Æc trng c¬ b¶n „ Chøa c¸c ch¬ng tr×nh ®ang thùc hiÖn vµ c¸c d÷ liÖu ®ang ®îc sö dông „ Tån t¹i trªn mäi hÖ thèng m¸y tÝnh „ §îc ®¸nh ®Þa chØ trùc tiÕp bëi CPU: cã nhiÒu ng¨n nhí, mçi ng¨n nhí ®îc g¸n mét ®Þa chØ x¸c ®Þnh „ ViÖc qu¶n lý l«gic BNC tïy thuéc vµo tõng H§H „ VÒ nguyªn t¾c, ngêi lËp tr×nh cã thÓ can thiÖp trùc tiÕp vµo toµn bé BNC cña m¸y tÝnh 43
  44. Bé nhí chÝnh . Tæ chøc bé nhí ®an xen „ §é réng cña bus d÷ liÖu ®Ó trao ®æi víi bé nhí: m = 8, 16, 32, 64, bit „ C¸c ng¨n nhí tæ chøc theo byte 44
  45. VÝ dô: m = 8 bit §Þa chØ Bank nhí 0 1 2 3 . . . . . n Bus hÖ thèng 45
  46. m = 16 bit §Þa chØ Bank 0 §Þa chØ Bank 1 0 1 2 3 4 5 6 7 . . . . . . . . . . 2n 2n+1 Bus hÖ thèng 46
  47. m = 32 bit §Þa chØ Bank 0 §Þa chØ Bank 1 §Þa chØ Bank 2 §Þa chØ Bank 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 . . . . . . . . . . . . . . . . . . . . 4n 4n+1 4n+2 4n+3 Bus hÖ thèng 47
  48. 6. Bé nhí cache . Nguyªn t¾c chung . C¸c kü thuËt ¸nh x¹ ®Þa chØ . C¸c thuËt to¸n thay thÕ . Ho¹t ®éng cña cache . Bµi tËp 48
  49. Nguyªn t¾c chung . Cache cã tèc ®é nhanh h¬n bé nhí chÝnh . Cache ®îc ®Æt gi÷a CPU vµ bé nhí chÝnh nh»m t¨ng tèc ®é truy nhËp bé nhí cña CPU . Cache cã thÓ ®îc ®Æt trªn chip CPU 49
  50. C¸c kh¸i niÖm . Cache hit, cache miss: „ Cache hit (tróng cache): khi CPU truy nhËp mét tõ nhí mµ tõ nhí ®ã ®ang cã trong cache. „ Cache miss (trît cache): khi CPU truy nhËp mét tõ nhí mµ tõ nhí ®ã kh«ng cã trong cache. . Nguyªn lý ®Þnh vÞ tham sè bé nhí: „ §Þnh vÞ vÒ thêi gian: Mét môc th«ng tin võa ®îc truy nhËp th× cã x¸c suÊt lín lµ ngay sau ®ã nã ®îc truy nhËp l¹i. „ §Þnh vÞ vÒ kh«ng gian: Mét môc th«ng tin võa ®îc truy nhËp th× cã x¸c suÊt lín lµ ngay sau ®ã c¸c môc l©n cËn sÏ ®îc truy nhËp. 50
  51. C¸c kh¸i niÖm . Trao ®æi th«ng tin gi÷a cache vµ BNC: „ BNC ®îc chia thµnh c¸c Block nhí „ Cache ®îc chia thµnh c¸c Line nhí „ KÝch thíc Line b»ng kÝch thíc Block Sè lîng Line << Sè lîng Block . Mçi Line trong cache ®îc g¾n thªm mét Tag ®Ó x¸c ®Þnh Block nµo (cña BNC) ®ang ë trong Line 51
  52. H×nh vÏ minh häa B0 B1 Tag D÷ liÖu B2 L . 0 . L 1 . . . BXL . . . . . . Lm-2 . . Lm-1 . Bé nhí cache Bp-2 Bp-1 Bé nhí chÝnh 52
  53. C¸c kü thuËt ¸nh x¹ ®Þa chØ . Ánh x¹ trùc tiÕp (direct mapping) . Ánh x¹ liªn kÕt hoµn toµn (fully associative mapping) . Ánh x¹ liªn kÕt tËp hîp (set associative mapping) 53
  54. Ánh x¹ trùc tiÕp . Mçi Block cña BNC chØ ®îc ¸nh x¹ vµo mét Line duy nhÊt: i = j mod m „ i: sè hiÖu Line trong cache „ j: sè hiÖu Block trong BNC „ m: sè lîng Line trong cache . Cô thÓ: B0 L0 Bm L0 . . . B1 L1 Bm+1 L1 . . . . . . . . . Bm-1 Lm-1 B2m-1 Lm-1 . . . 54
  55. Ánh x¹ trùc tiÕp . Nh vËy: L0 : B0, Bm, B2m, , Bnm L1 : B1, Bm+1, B2m+1, , Bnm+1 . . . . . . . Lm-1: Bm-1, B2m-1, B3m-1, , B(n+1)m-1 55
  56. Ánh x¹ trùc tiÕp . Khi ®ã, ®Þa chØ do CPU ph¸t ra gåm 3 trêng: Tag Line Word s - r bit r bit w bit „ Word: x¸c ®Þnh sè hiÖu ng¨n nhí trong Block Block (Line) cã 2w ng¨n nhí „ Line: x¸c ®Þnh sè hiÖu Line trong cache Cache cã 2r Line, cache chøa 2r + w ng¨n nhí „ Tag: x¸c ®Þnh Block nµo ®ang ë trong Line (s - r) + r + w s + w BNC chøa 2 = 2 ng¨n nhí 56
  57. VÝ dô 1 . Cho m¸y tÝnh cã dung lîng: „ BNC = 128 MB, cache = 256 KB, line = 32 byte, „ §é dµi ng¨n nhí = 1 byte. T×m d¹ng ®Þa chØ do BXL ph¸t ra? . Gi¶i: Ta cã: „ BNC = 128 MB = 27 * 220 byte = 227 byte „ Cache = 256 KB = 28 * 210 byte = 218 byte „ Line = 32 byte = 25 byte w = 5 „ Sè lîng Line trong cache: 218/25 = 213 r = 13 „ Sè bit cña phÇn Tag: 27 - 13 - 5 = 9, s - r = 9 9 13 5 57
  58. VÝ dô 2 . Cho m¸y tÝnh cã dung lîng: „ BNC = 256 MB, cache = 64 KB, line = 16 byte, „ §é dµi ng¨n nhí = 4 byte. T×m d¹ng ®Þa chØ do BXL ph¸t ra? . Gi¶i: Ta cã: „ BNC = 256 MB = 228 byte = 228/22 = 226 ng/nhí „ Cache = 64 KB = 216 byte = 216/22 = 214 ng/nhí „ Line = 16 byte =24/22 = 22 ng/nhí w = 2 „ Sè lîng Line trong cache: 214/22 = 212 r = 12 „ Sè bit cña phÇn Tag: 26 - 12 - 2 = 12, s - r = 12 12 12 2 58
  59. S¬ ®å thùc hiÖn 59
  60. NhËn xÐt . Ưu ®iÓm: „ DÔ thùc hiÖn, v× mét Block ®îc ¸nh x¹ cè ®Þnh vµo mét Line kh«ng cÇn thuËt to¸n chän Line. „ ThiÕt kÕ m¹ch ®¬n gi¶n. . Nhîc ®iÓm: „ TØ lÖ cache hit thÊp. 60
  61. Ánh x¹ liªn kÕt hoµn toµn . Mçi Block trong BNC ®îc ¸nh x¹ vµo mét Line bÊt kú trong Cache . Khi ®ã, ®Þa chØ do BXL ph¸t ra cã d¹ng: Tag Word w bit s bit „ Word: x¸c ®Þnh ng¨n nhí trong Block Block cã 2w ng¨n nhí „ Tag: x¸c ®Þnh Block ®ang ë trong Line Sè lîng Block: 2s s + w Dung lîng BNC: 2 ng¨n nhí 61
  62. S¬ ®å thùc hiÖn 62
  63. NhËn xÐt . Ưu ®iÓm: „ TØ lÖ cache hit cao h¬n ¸nh x¹ trùc tiÕp v× mét Block ®îc phÐp vµo mét Line bÊt kú. . Nhîc ®iÓm: „ ThiÕt kÕ m¹ch t¬ng ®èi phøc t¹p, thÓ hiÖn ë m¹ch so s¸nh. 63
  64. Ánh x¹ liªn kÕt tËp hîp . Cache ®îc chia thµnh nhiÒu Set, mçi Set gåm nhiÒu Line liªn tiÕp . Mét Block cña BNC chØ ®îc ¸nh x¹ vµo mét Set duy nhÊt trong cache, nhng ®îc ¸nh x¹ vµo Line bÊt kú trong set ®ã: i = j mod v „ i: sè hiÖu Set trong cache „ j: sè hiÖu Block trong BNC „ v: sè lîng Set trong cache 64
  65. Ánh x¹ liªn kÕt tËp hîp . Khi ®ã, ®Þa chØ do BXL ph¸t ra gåm: Tag Set Word s - d bit d bit w bit „ Word: x¸c ®Þnh sè hiÖu ng¨n nhí trong Block Block (Line) cã 2w ng¨n nhí „ Set: x¸c ®Þnh sè hiÖu Set trong cache Cache cã 2d Set „ Tag: x¸c ®Þnh Block nµo ®ang ë trong Line BNC chøa 2(s - d) + d + w = 2s + w ng¨n nhí 65
  66. VÝ dô 1 . Cho m¸y tÝnh cã dung lîng: „ BNC = 512 MB, cache = 128 KB, line = 32 byte, „ Set = 8 Line, ®é dµi ng¨n nhí = 1 byte. T×m d¹ng ®Þa chØ do BXL ph¸t ra? . Gi¶i: Ta cã: „ BNC = 512 MB = 229 byte; Cache = 128 KB = 217 byte „ Line = 25 byte w = 5 „ Dung lîng Set: 23 * 25 = 28 byte sè lîng Set trong Cache: 217/28 = 29 d = 9 „ Sè bit cña phÇn Tag: 29 - 9 - 5 = 15, s - d = 15 15 9 5 66
  67. VÝ dô 2 . Cho m¸y tÝnh cã dung lîng: „ BNC = 256 MB, cache = 128 KB, line = 64 byte, „ Set = 4 Line, ®é dµi ng¨n nhí = 4 byte. T×m d¹ng ®Þa chØ do BXL ph¸t ra? . Gi¶i: Ta cã: „ BNC = 228 byte = 228/22 = 226 ng/nhí „ Cache = 217 byte = 217/22 = 215 ng/nhí „ Line = 26/22 = 24 ng/nhí w = 4 „ D/l Set: 22 * 24= 26 s/l Set: 215/26 = 29 d = 9 „ Sè bit cña phÇn Tag: 26 - 9 - 4 = 13, s - d = 13 13 9 4 67
  68. S¬ ®å thùc hiÖn 68
  69. NhËn xÐt . Ưu ®iÓm: „ TØ lÖ cache hit cao v× mét Block ®îc phÐp vµo mét Line bÊt kú trong Set, vµ dÔ so s¸nh. „ §©y lµ kü thuËt ¸nh x¹ tèt nhÊt trong 3 kü thuËt. . Nhîc ®iÓm: „ ThiÕt kÕ m¹ch phøc t¹p. 69
  70. C¸c thuËt to¸n thay thÕ . Kü thuËt ¸nh x¹ trùc tiÕp: Kh«ng thay ®îc . Hai kü thuËt ¸nh x¹ liªn kÕt: cã 4 thuËt to¸n „ Random: thay ngÉu nhiªn mét Block cò nµo ®ã DÔ thùc hiÖn, nhanh nhÊt, tØ lÖ cache hit thÊp. „ FIFO (First In - First Out): thay Block ë ®Çu tiªn trong sè c¸c Block ®ang cã trong cache tØ lÖ cache hit kh«ng cao „ LFU (Least Frequently Used): thay Block ®îc dïng víi tÇn suÊt Ýt nhÊt tØ lÖ cache hit t¬ng ®èi cao „ LRU (Least Recently Used): thay Block ®îc dïng gÇn ®©y Ýt nhÊt tØ lÖ cache hit cao 70
  71. Ho¹t ®éng cña cache . §äc: „ NÕu cache hit: ®äc ng¨n nhí tõ cache „ NÕu cache miss: thay Block cache hit . Ghi: „ NÕu cache hit: cã 2 ph¬ng ph¸p:  Write through: ghi d÷ liÖu vµo c¶ cache vµ c¶ BNC kh«ng cÇn thiÕt, tèc ®é chËm, m¹ch ®¬n gi¶n.  Write back: chØ ghi vµo cache, khi nµo Block (trong cache) ®îc ghi bÞ thay ®i ghi vµo BNC tèc ®é nhanh, m¹ch phøc t¹p. „ NÕu cache miss: thay Block cache hit 71
  72. Ho¹t ®éng cña cache BXL Cache BNC a) Write Through BXL Cache BNC b) Write Back 72
  73. VÝ dô cache trªn c¸c bé xö lý Intel . 80386: kh«ng cã cache trªn chip . 80486: „ 8KB, kÝch thíc Line: 16 byte „ ¸nh x¹ liªn kÕt tËp hîp 4 ®êng . Pentium: cã hai cache L1 trªn chip „ Cache lÖnh: 8KB, cache d÷ liÖu: 8KB: . Petium 4: cache L1 (2 lo¹i) vµ L2 trªn chip: „ Cache L1: + Mçi cache: 8KB, kÝch thíc Line: 64 byte + ¸nh x¹ liªn kÕt tËp hîp 4 ®êng „ Cache L2: + 256KB, kÝch thíc Line: 128 byte + ¸nh x¹ liªn kÕt tËp hîp 8 ®êng 73
  74. 7. Bé nhí ngoµi . §Üa tõ . RAID . §Üa quang . Flash disk . B¨ng tõ 74
  75. C¸c ®Æc tÝnh cña ®Üa tõ . §Çu tõ cè ®Þnh hay chuyÓn ®éng . §Üa cè ®Þnh hay thay ®æi . Mét mÆt hay hai mÆt . Mét hay nhiÒu ®Üa . C¬ chÕ ®Çu tõ „ TiÕp xóc (®Üa mÒm) „ Kh«ng tiÕp xóc: + Khe cè ®Þnh + Khe thay ®æi 75
  76. MÆt ®Üa 76
  77. Khu«n d¹ng cña mét r·nh (track) Sector 0 Sector 1 Gap1 ID Gap2 Data Gap3 Gap1 ID Gap2 Data Gap3 Byte 17 7 41 515 20 17 7 41 515 20 Sync Track Head Sector CRC Sync Data CRC Byte Byte Byte 1 2 1 1 2 1 512 2 77
  78. NhiÒu ®Üa 78
  79. Cylinders 79
  80. Tèc ®é ®Üa . Thêi gian truy nhËp = t/g t×m kiÕm + t/g trÔ . Tèc ®é truyÒn . Thêi gian t×m kiÕm „ Di chuyÓn ®Çu tõ ®Õn ®óng r·nh . Thêi gian trÔ „ Chê ®Õn khi d÷ liÖu n»m ngay díi ®Çu tõ 80
  81. §Üa mÒm . 8”, 5.25”, 3.5” . Tèc ®é chËm . Th«ng dông . Dung lîng nhá „ ChØ tíi 1.44MB (lo¹i 2.88 MB kh«ng phæ dông) . RÎ tiÒn . T¬ng lai cã thÓ kh«ng dïng n÷a? 81
  82. §Üa mÒm æ ®Üa mÒm 82
  83. §Üa cøng . Do IBM ph¸t triÓn . Mét hoÆc nhiÒu ®Üa . Th«ng dông . Dung lîng t¨ng rÊt nhanh „ 2003: 20 GB, 30 GB, 40 GB „ 2004: > 300 GB . Tèc ®é ®äc/ghi nhanh . Gi¸ thµnh rÎ 83
  84. §Üa cøng Trôc quay CÇn mang ®Çu tõ §Üa C¬ cÊu chuyÓn ®éng ®Çu tõ §Çu tõ §iÖn C¸p d÷ liÖu (SCSI hoÆc EIDE) 84
  85. RAID . Redundant Array of Independent Disks . Cã 7 lo¹i RAID (RAID 0  RAID 6) . Kh«ng ph©n cÊp RAID . TËp hîp nhiÒu ®Üa vËt lý ®îc H§H coi nh mét ®Üa (logic) duy nhÊt . D÷ liÖu ®îc ph©n bè trªn nhiÒu ®Üa vËt lý kh¸c nhau . Dung lîng RAID lªn tíi hµng ngh×n GB . Do dung lîng lín cÇn cã mét phÇn ®Üa dïng ®Ó lu tr÷ th«ng tin an toµn 85
  86. RAID 0 . Kh«ng cã phÇn d thõa (th«ng tin an toµn) . D÷ liÖu ®îc chøa trong c¸c strip . T¨ng tèc ®é: „ D÷ liÖu kh«ng chøa trªn cïng mét ®Üa „ C¸c ®Üa t×m kiÕm theo c¬ chÕ song song 86
  87. ¸nh x¹ d÷ liÖu ®èi víi RAID 0 87
  88. RAID 1 . Dïng kü thuËt mirroring (n + n ®Üa) . D÷ liÖu ®îc chøa trong c¸c strip, ®îc nh©n thµnh 2 b¶n chøa trªn 2 ®Üa kh¸c nhau . Khi ®äc: bÊt kú b¶n nµo; Khi ghi: ghi vµo c¶ hai b¶n . Khi bÞ lçi: ®äc tõ b¶n kia vµ nh©n b¶n l¹i . Gi¸ thµnh ®¾t 88
  89. RAID 2 . Dïng (n + m) ®Üa: n ®Üa d÷ liÖu, m ®Üa m· Hamming . C¸c strip rÊt bÐ: kho¶ng 1 hoÆc 2 byte . ViÖc söa lçi ®îc tÝnh dùa theo c¸c bit t¬ng øng trªn c¸c ®Üa . NhiÒu ®Üa chøa m· Hamming ®Ó söa lçi ë c¸c vÞ trÝ t¬ng øng . NhiÒu phÇn d thõa: ®¾t; kh«ng phæ dông 89
  90. RAID 3 . T¬ng tù RAID 2, nhng phÇn th«ng tin an toµn chØ dïng 1 ®Üa . ChØ dïng 1 bit parity cho tËp c¸c bit d÷ liÖu t¬ng øng . D÷ liÖu bÞ lçi ®îc kh«i phôc l¹i nhê phÇn d÷ liÖu “cßn sèng” vµ th«ng tin parity: 1 + 3 + 8 + ? = 20 ? = 7 . Tèc ®é truyÒn d÷ liÖu nhanh 90
  91. RAID 4 . Mçi ®Üa ho¹t ®éng ®éc lËp . ThÝch hîp víi truyÒn d÷ liÖu tèc ®é cao . Strip lín . Bit parity ®îc tÝnh to¸n dùa vµo c¸c strip trªn mçi ®Üa . Parity ®îc lu tr÷ trªn ®Üa parity theo tõng khèi 91
  92. RAID 5 . T¬ng tù RAID 4, nhng parity ®îc ph©n bè ®Òu trªn c¸c ®Üa tr¸nh ®îc t¾c nghÏn trªn ®Üa parity. . Thêng ®îc dïng trong c¸c server m¹ng 92
  93. RAID 6 . Dïng (n + 2) ®Üa . Dïng 2 khèi parity . Hai khèi parity ®îc lu tr÷ riªng biÖt trªn c¸c ®Üa kh¸c nhau 93
  94. §Üa quang CD-ROM . Dung lîng th«ng dông: 650MB  700MB . ChÊt dÎo ®îc phñ mét líp polycarbonate, bªn díi tr¸ng líp cã kh¶ n¨ng ph¶n x¹ cao, thêng lµ nh«m . D÷ liÖu ®îc lu tr÷ nhê c¸c hèc (pit) vµ phÇn b»ng (land) . §äc d÷ liÖu dùa vµo sù ph¶n x¹ tia laser 94
  95. Ho¹t ®éng cña ®Üa CD Axit acrylic b¶o vÖ PhÇn Hèc Polycarbonate b»ng Nh«m Göi/nhËn tia laser Nh·n ®Üa TÇng b¶o vÖ (axit acrylic) TÇng ph¶n x¹ (nh«m) Líp polycarbonate (plastic) C¸c tiªu ®iÓm laser trªn c¸c hèc polycarbonate ë phÝa tr•íc tÇng ph¶n x¹ §Üa CD-ROM, dung l•îng 682 MB 95
  96. VËn tèc ®Üa CD-ROM . §Üa nh¹c cã vËn tèc ®¬n „ KiÓu ®äc: vËn tèc tuyÕn tÝnh kh«ng ®æi (CLV - Constant Linier Velocity) „ 1,2 m/s „ R·nh (xo¸y èc) dµi kho¶ng 5,27 km „ Thêi gian ®äc cÇn 4391gi©y = 73,2 phót „ Tèc ®é ®äc c¬ së: 150KB/s . C¸c tèc ®é kh¸c lµ béi sè, vÝ dô: 48x, 52x, 96
  97. Khu«n d¹ng CD-ROM . Mode 0: trêng d÷ liÖu trèng . Mode 1: 2048 byte d÷ liÖu + söa lçi . Mode 2: 2336 byte d÷ liÖu 97
  98. C¸c bé nhí quang kh¸c . CD-R (CD Recordable) „ WORM „ T¬ng thÝch víi æ ®Üa CD-ROM . CD-RW (CD ReWriteable) „ Cã thÓ xãa ®îc „ Kh«ng ®¾t „ HÇu hÕt t¬ng thÝch víi æ ®Üa CD-ROM „ Thay ®æi pha  Dïng vËt liÖu cã hai hÖ sè ph¶n x¹ kh¸c nhau thuéc hai pha kh¸c nhau 98
  99. C¸c bé nhí quang kh¸c . DVD „ Digital Video Disk: chØ dïng trªn æ ®Üa xem video „ Digital Versatile Disk: dïng trªn æ m¸y tÝnh „ Ghi mét hoÆc hai mÆt „ NhiÒu líp trªn mét mÆt „ Dung lîng: 4,7 GB trªn mét líp Líp polycarbonate, mÆt 2 TÇng b¸n ph¶n x¹, mÆt 2 TÇng polycarbonate, mÆt 2 TÇng ph¶n x¹ hoµn toµn, mÆt 2 TÇng ph¶n x¹ hoµn toµn, mÆt 1 TÇng polycarbonate, mÆt 1 C¸c tiªu ®iÓm trªn c¸c hèc cña TÇng b¸n ph¶n x¹, mÆt 1 mét tÇng (cña mét mÆt). §Üa Líp polycarbonate, mÆt 1 ph¶i ®•îc lËt ®Ó ®äc mÆt kia §Üa DVD, hai mÆt, hai tÇng, dung l•îng: 17 GB 99
  100. Flash disk . KÕt nèi qua cæng USB . Kh«ng ph¶i d¹ng ®Üa . Bé nhí b¸n dÉn cùc nhanh (flash memory) . Dung lîng t¨ng nhanh . ThuËn tiÖn 100
  101. B¨ng tõ . B¨ng tõ „ Truy nhËp tuÇn tù „ Tèc ®é chËm „ Gi¸ thµnh rÊt rÎ „ Dïng ®Ó lu tr÷ vµ backup . B¨ng audio sè (DAT) „ §îc dïng víi ®Çu tõ quay (nh ®Çu tõ video) „ Dung lîng t¬ng ®èi lín  4 GB kh«ng nÐn  8 GB nÐn „ Dïng ®Ó backup PC, server m¹ng 101
  102. KiÕn tróc m¸y tÝnh Hết chương 1 102
  103. Bµi tËp . Bµi 1: Cho IC nhí cã dung lîng 8K x 8 bit. H·y thiÕt kÕ modul nhí cã dung lîng 8K x 32 bit. . Bµi 2: Cho IC nhí cã dung lîng 4K x 16 bit. H·y thiÕt kÕ modul nhí cã dung lîng 16K x 16 bit. . Bµi 3: Cho IC nhí cã dung lîng 4K x 8 bit. H·y thiÕt kÕ modul nhí cã dung lîng 32K x 8 bit. . Bµi 4: Cho IC nhí cã dung lîng 8K x 4 bit. ChØ dïng Bé gi¶i m· 2:4, h·y thiÕt kÕ modul nhí cã dung l- îng 16K x 4 bit. 103
  104. Bµi tËp . Bµi 5: Cho IC nhí cã dung lîng 4K x 8 bit. ChØ dïng Bé gi¶i m· 3: 8, h·y thiÕt kÕ modul nhí cã dung l- îng 8K x 8 bit. . Bµi 6: Cho IC nhí cã dung lîng 2K x 8 bit. ChØ dung Bé gi¶i m· 3:8, h·y thiÕt kÕ modul nhí cã dung l- îng 8K x 8 bit. . Bµi 7: Cho IC nhí cã dung lîng 8K x 8 bit. ChØ dïng Bé gi¶i m· 1:2, h·y thiÕt kÕ modul nhí cã dung l- îng 32K x 8bit. 104
  105. Bµi tËp . Bµi 8: Cho IC nhí cã dung lîng 8K x 8 bit. ChØ dïng Bé gi¶i m· 1:2, h·y thiÕt kÕ modul nhí cã dung l- îng 64K x 32 bit. . Bµi 9: Cho IC nhí cã dung lîng 8K x 4 bit. ChØ dïng Bé gi¶i m· 2:4, h·y thiÕt kÕ modul nhí cã dung l- îng 64K x 4 bit. 105
  106. Bµi tËp . Bµi 1: M« t¶ ho¹t ®éng cña kü thuËt ¸nh x¹ trùc tiÕp . Bµi 2: M« t¶ ho¹t ®éng cña kü thuËt ¸nh x¹ liªn kÕt hoµn toµn . Bµi 3: M« t¶ ho¹t ®éng cña kü thuËt ¸nh x¹ liªn kÕt tËp hîp 106