Bài giảng Cấu trúc máy tính lập trình hợp ngữ - Tổ chức Memory

ppt 37 trang hapham 1070
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cấu trúc máy tính lập trình hợp ngữ - Tổ chức Memory", để 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:

  • pptbai_giang_cau_truc_may_tinh_lap_trinh_hop_ngu_to_chuc_memory.ppt

Nội dung text: Bài giảng Cấu trúc máy tính lập trình hợp ngữ - Tổ chức Memory

  1. BỘ NHỚ (Memory) Mục tiêu : 1. Hiểu được cấu tạo của bộ nhớ, chức năng và hoạt động của bộ nhớ. 2. Nắm được quá trình đọc bộ nhớ & ghi bộ nhớ. 3. Vai trị của bộ nhớ Cache trong máy tính. Chương 3 : Tổ chức Memory 1
  2. Bộ nhớ (Memory) Nội dung : 1. Tổ chức bộ nhớ của máy tính IBM PC 2. Phân loại bộ nhớ : Primary Memory và Secondary Memory. 3. Quá trình CPU đọc bộ nhớ. 4. Quá trình CPU ghi bộ nhớ. 5. Bộ nhớ Cache. Chương 3 : Tổ chức Memory 2
  3. Memory Bộ nhớ (Memory) là nơi chứa chương trình và dữ liệu. Đơn vị đo bộ nhớ : Bit : đơn vị bộ nhớ nhỏ nhất là bit. Mỗi bit cĩ thể lưu trữ 1 trong 2 trạng thái là 0 và 1. Byte = 8 bits, được đánh chỉ số từ 0 đến 7 bắt đầu từ phải sang trái. Kbyte = 1024bytes = 210 bytes. Mbyte = 1024Kbytes = 210 Kbytes. Gbyte = 1024Mbytes = 210 Mbytes. Chương 3 : Tổ chức Memory 3
  4. Primary Memory Cịn được gọi là bộ nhớ chính hay bộ nhớ trung tâm. Chia làm 2 loại : RAM và ROM Chương 3 : Tổ chức Memory 4
  5. RAM RAM (Random Access Memory) bộ nhớ truy xuất ngẫu nhiên.Là nơi lưu giữ các chương trình và dữ liệu khi chạy chương trình. Đặc điểm của RAM : • Cho phép đọc/ ghi dữ liệu. • Dữ liệu bị mất khi mất nguồn. Khi máy tính khởi động, Ram rỗng. Người lập trình chủ yếu là làm việc với Ram – vùng nhớ tạm để dữ liệu và chương trình. Chương 3 : Tổ chức Memory 5
  6. RAM Ram là vùng nhớ làm việc ➔ nếu vùng nhớ này trở nên nhỏ so với nhu cầu sử dụng thì ta tăng thêm Ram (gắn thêm Ram). RAM cĩ thể chia làm 2 loại : Dynamic và Static RAM •Dynamic RAM : phải được làm tươi trong vịng dưới 1 ms nếu khơng sẽ bị mất nội dung. •Static RAM : giữ được giá trị khơng cần phải làm tươi. •RAM tĩnh cĩ tốc độ cao, cĩ tên là bộ nhớ CACHE nằm trong CPU. Chương 3 : Tổ chức Memory 6
  7. RAM Chương 3 : Tổ chức Memory 7
  8. ROM ROM (Read Only Memory) : bộ nhớ chỉ đọc. ROM BIOS chứa phần mềm cấu hình và chẩn đốn hệ thống, các chương trình con nhập/xuất cấp thấp mà DOS sử dụng. Các chương trình này được mã hố trong ROM và được gọi là phần dẽo (firmware). Một tính năng quan trọng của ROM BIOS là khả năng phát hiện sự hiện diện của phần cứng mới trong MT và cấu hình lại hệ điều hành theo Driver thiết bị. Chương 3 : Tổ chức Memory 8
  9. ROM(cont) Đặc điểm của ROM: Chỉ cho phép đọc khơng cho phép ghi. Dữ liệu vẫn tồn tại khi khơng cĩ nguồn. Chương 3 : Tổ chức Memory 9
  10. Các loại Rom PROM (Programmable Read Only Memory) : Cho phép user cĩ thể lập trình và ghi vào ROM bằng cách đốt. EPROM (Erasable Programmable Read Only Memmory) Cho phép user viết ghi chương trình và xĩa ghi lại. Việc xĩa bằng cách dùng tia cực tím. EEPROM (Electrically Erasable Programmable Read Only Memory) bộ nhớ cĩ thể lập trình bằng xung điện đặc biệt Chương 3 : Tổ chức Memory 10
  11. Secondary Memory Là bộ nhớ phụ nằm ngồi hộp CPU. Floppy disk, Tapes, Compact discs là secondary Memory. Chương 3 : Tổ chức Memory 11
  12. Sơ lược về Cache Cache cấp 1 (Level 1-cache) : nằm trong CPU, tốc độ truy xuất rất nhanh, theo tốc độ của CPU. Cache cấp 2 (Level 2-cache) : thường cĩ dung lượng 128K,256K là cache nằm giữa CPU và Ram, thường cấu tạo bằng Ram tĩnh (Static Ram), tốc độ truy xuất nhanh vì khơng cần thời gian làm tươi dữ liệu. Cache cấp 3 (Level 3-cache) : chính là vùng nhớ DRAM dùng làm vùng đệm truy xuất cho đĩa cứng và các thiết bị ngoại vi. Tốc độ truy xuất cache cấp 3 chính là tốc độ truy xuất DRAM. Chương 3 : Tổ chức Memory 12
  13. Cache (cont) Tổ chức của Cache :liên quan đến chiến lược trữ đệm và cách thức lưu thơng tin trong Cache. Loại lệnh phải thi hành : Cache chứa cả chương trình và dữ liệu, khi CPU truy xuất mà chúng cĩ sẵn thì truy xuất nhanh. Khi CPU cần truy xuất bộ nhớ, cache sẽ kiểm tra xem cái mà CPU cần đã cĩ trong cache chưa. Dung lượng cache : như vậy nếu 1 tập lệnh nằm gọn trong cache (vịng lặp chẳng hạn) thì thực thi rất nhanh. Chương 3 : Tổ chức Memory 13
  14. Cấu trúc Cache Cache được cấu tạo thành từng hàng (cache lines) , 32 bit/hàng cho 386, 128 bit/hàng cho 486, 256 bit/hàng cho Pentium. Mỗi hàng cĩ kèm theo 1 tag để lưu trữ địa chỉ bắt đầu của đoạn bộ nhớ mà thơng tin được đưa vào cache. Nếu là cache cấp 2 (SRAM), địa chỉ bắt đầu của đoạn bộ nhớ đã chuyển data vào cache cịn được lưu trong 1 vùng nhớ riêng. Một bộ điều khiển cache (cache controller) sẽ điều khiển hoạt động của cache với CPU và data vào/ra cache. Chính Cache controller phản ánh chiến lược trữ đệm của cache. Với cache cấp 1, cache controller là 1 thành phần của CPU. Với cache cấp 2, cache controller nằm trên Mainboard. Chương 3 : Tổ chức Memory 14
  15. Hiệu suất của Cache Cache dùng làm vùng đệm truy xuất nên nếu CPU truy xuất data mà cĩ sẵn trong cache thì thời gian truy xuất nhanh hơn nhiều. Hiệu quả của cache ngồi việc cho tốc độ truy xuất nhanh cịn phụ thuộc vào Cache hit hoặc Cache miss. Cache Hit : tức data cĩ sẵn trong Cache. Cache Miss : tức data chưa cĩ sẵn trong cache. tỉ lệ cache hit và cache miss phụ thuộc vào 3 yếu tố : tổ chức cache , loại lệnh phải thi hành và dung lượng của cache. Chương 3 : Tổ chức Memory 15
  16. Hiệu suất của Cache Tính tốn hiệu suất thực thi của Cache : Gọi c thời gian truy xuất của Cache M là thời gian truy xuất bộ nhớ h là tỉ lệ thành cơng (hit ratio), là tỉ số giữa số lần tham chiếu cache với tổng số lần tham chiếu. h =(k-1)/k Tỉ lệ thất bại (miss ratio) (1-h) Thời gian truy xuất trung bình = c+(1-h)m Khi h➔ 1, tất cả truy xuất đều tham chiếu tới Cache, thời gian truy xuất trung bình → c. Khi h→ 0, cần phải tham chiếu bộ nhớ chính mọi lúc, thời gian truy xuất trung bình → c+m. Chương 3 : Tổ chức Memory 16
  17. Hiệu suất của Cache (cont) CPU Trong Registers? Trong Cache L1? Trong Cache L2 trên chip? Trong Cache L2 thứ cấp? Trong RAM? Trên Đĩa? Chương 3 : Tổ chức Memory 17
  18. A Two Level Caching System Chương 3 : Tổ chức Memory 18
  19. Các chiến lược trữ đệm trong Cache Các chiến lược trữ đệm liên quan đến tác vụ đọc ghi từ CPU. Cĩ 2 loại : Writethrough Cache (WTC) và Writeback cache (WBC). • Khi CPU đọc từ bộ nhớ qui ước thì WTC và WBC đều như nhau : sẽ đọc 1 đoạn nội dung trong bộ nhớ vào cache. • Khi CPU ghi ra bộ nhớ qui ước : WTC : CPU ghi data ra vùng đệm ghi (write buffer) rồi bỏ đĩ tiếp tục việc khác, cache sẽ lấy nội dung trong buffer rồi chịu trách nhiệm ghi ra bộ nhớ qui ước khi bus rãnh. WBC : CPU ghi data vào cache, khi cache đầy thì đẩy thơng tin ra bộ đệm (đệm castoff) rồi từ castoof, data chuyển sang bộ nhớ qui ước. Chương 3 : Tổ chức Memory 19
  20. 00000 Interrup Vector Table M 00400 BIOS and DOS data E 00600 Resident portion of DOS M O User RAM R A0000 EGA Color Video Y B0000 Monochrome Video B8000 M Color Video C0000 Reserved ROM (not used) A F0000 Reserved ROM P F6000 ROM BASIC FE000 ChươngROM 3 : BIOSTổ chức Memory 20
  21. Memory Map 1024 bytes thấp nhất chứa bảng vector interrupt Dos data Area chứa các biến được DOS sử dụng như : Keyboard buffer : các phím nhấn được lưu cho đến khi được xử lý. Cờ chỉ tình trạng keyboard : cho biết phím nào đang được nhấn. Địa chỉ cổng printer. Địa chỉ cổng tuần tự Mơ tả các thiết bị đang cĩ trong hệ thống : tổng dung lượng bộ nhớ, số ổ đĩa, kiểu màn hình Chương 3 : Tổ chức Memory 21
  22. Memory Map User Ram : vị trí thường trú của DOS ở địa chỉ 0600H. Vùng nhớ trống nằm ngay dưới vùng nhớ Dos. Rom Area : từ C000H – FFFFHđược IBM dành riêng cho Rom sử dụng chứa hard disk controller, Rom Basic. Rom BIOS : từ F000H – FFFFH vùng nhớ cao nhất của bộ nhớ chứa các chương trình con cấp thấp của Dos dùng cho việc xuất nhập và các chức năng khác Chương 3 : Tổ chức Memory 22
  23. Quá trình Boot máy ◼ Xãy ra khi ta power on hay nhấn nút Reset. Bộ VXL xĩa tất cả ơ nhớ của bộ nhớ trở về 0, kiểm tra chẳn lẻ bộ nhớ, thiết lập thanh ghi CS trỏ đến segment FFFFh và con trỏ lệnh IP trỏ tới địa chỉ offset bằng 0. ➔ Chỉ thị đầu tiên được MT thực thi ở địa chỉ ấn định bởi nội dung cặp thanh ghi CS:IP, đĩ chính là FFFF0H , điểm nhập tới BIOS trong ROM. Chương 3 : Tổ chức Memory 23
  24. Trình tự tác vụ đọc ơ nhớ ✓ CPU đưa địa chỉ ơ nhớ cần đọc vào thanh ghi địa chỉ. ✓ Mạch giải mã xác định địa chỉ ơ nhớ. ✓ CPU gửi tín hiệu điều khiển đọc ➔ bộ nhớ. Nội dung ơ nhớ cần đọc được đưa ra thanh ghi dữ liệu. ✓ CPU đọc nội dung của thanh ghi dữ liệu. Chương 3 : Tổ chức Memory 24
  25. Mạch giải mã địa chỉ ơ nhớ Mạch điện cĩ nhiệm vụ xác định đúng ơ nhớ cần truy xuất đang cĩ địa chỉ lưu trong thanh ghi địa chỉ. Bộ nhớ làm việc được chia thành nhiều ơ nhớ. Kích thước mỗi ơ nhớ thay đổi tùy theo máy, thường là 8 hay 16 bit tức 1 byte hay 1 word. Nếu kích thước mỗi ơ nhớ là 1 byte thì sẽ cĩ 8 đường dữ liệu song song nối bộ nhớ làm việc với bộ VXL. Mỗi đường 1 bit , tất cả 8 đường tạo thành một tuyến dữ liệu (data bus) Chương 3 : Tổ chức Memory 25
  26. Truy xuất bộ nhớ (cont) D7 D6 D5 D4 D3 D2 D1 D0 Đọc / ghi dữ liệu Ơ NHỚ ĐƠN VỊ XỬ LÝ Chương 3 : Tổ chức Memory 26
  27. Trình tự tác vụ ghi ơ nhớ CPU đưa địa chỉ ơ nhớ cần ghi vào thanh ghi địa chỉ của bộ nhớ. Mạch giải mã xác định địa chỉ ơ nhớ. CPU đưa dữ liệu cần ghi vào thanh ghi dữ liệu của bộ nhớ. CPU gửi tín hiệu điều khiển ghi ➔ bộ nhớ. Nội dung trong thanh ghi dữ liệu được ghi vào ơ nhớ cĩ địa chỉ xác định. Chương 3 : Tổ chức Memory 27
  28. Truy xuất bộ nhớ : ghi ơ nhớ Ơâ nhớ được chọn 00000 00001 00010 A0 A1 Bộ giải mã A2 00011 A3 Bộ nhớ Địa chỉ A4 . . . . . . . . 11110 11111 Chương 3 : Tổ chức Memory 28
  29. Stack ◼ Stack là vùng nhớ đặc biệt dùng để lưu trữ địa chỉ và dữ liệu. Stack thường trú trong stack segment.Mỗi vùng 16 bit trên stack được trỏ đến bởi thanh ghi SP, gọi là stack pointer. Stack pointer lưu trữ địa chỉ của phần tử dữ liệu cuối mới được thêm vào (pushed lên stack.) Chương 3 : Tổ chức Memory 29
  30. Stack phần tử dữ liệu cuối mới được thêm vào này lại là phần tử sẽ được lấy ra (popped trước tiên). ➔ Stack làm việc theo cơ chế LIFO (Last In First Out). Xét ví dụ sau : giả sử stack đang chứa 1 giá trị 0006 Sau đĩ ta đưa 00A5 vào stack Chương 3 : Tổ chức Memory 30
  31. Stack BEFORE HIGH MEM AFTER HIGH MEM 0006 SP 0006 00A5 SP SP giảm 1 LOW MEM Chương 3 : Tổ chức Memory 31
  32. Cơng dụng của Stack Dùng để lưu trữ dữ liệu tạm cho thanh ghi nếu ta cần sử dụng các dữ liệu này. Khi 1 chương trình con được gọi, stack sẽ lưu trữ địa chỉ trở về ngay sau khi chương trình con thực hiện xong. Các ngơn ngữ cấp cao thường tạo ra 1 vùng nhớ bên trong chương trình con gọi là stack frame để chứa các biến cục bộ. Chương 3 : Tổ chức Memory 32
  33. Summary Slide ◼ Cờ nào được thiết lập khi 1 phép tính số học khơng dấu quá rộng khơng vừa với đích? Hai thanh ghi nào được tổ hợp thành địa chỉ của lệnh sẽ được thực kế tiếp? Nêu quá trình đọc bộ nhớ. Tại sao quá trình đọc bộ nhớ lại chiếm nhiều chu kỳ máy hơn so với truy cập thanh ghi? Thanh ghi AH bị sửa đổi, tại sao thanh ghi AX cũng thay đổi theo. Nội dung nào chiếm 1024 bytes thấp nhất của bộ nhớ? Chương 3 : Tổ chức Memory 33
  34. Câu hỏi ơn tập ◼ Vai trị của Cache trong máy tính. ◼ Trình bày chiến lược trữ đệm của Cache. ◼ Phân biệt bộ nhớ RAM và ROM. ◼ Nêu trình tự quá trình thực hiện khi khởi động máy tính. Chương 3 : Tổ chức Memory 34
  35. Câu hỏi ơn tập ◼ Một bộ nhớ cĩ dung lượng 4Kx8. a) Cĩ bao nhiêu đầu vào dữ liệu, đầu ra dữ liệu. b) Cĩ bao nhiêu đường địa chỉ. c) Dung lượng của nĩ tính theo byte. Chương 3 : Tổ chức Memory 35
  36. Câu hỏi ơn tập Bộ nhớ Cache nằm giữa : a) Mainboard và CPU b) ROM và CPU c) CPU và bộ nhớ chính. d) Bộ nhớ chính và bộ nhớ ngồi Chương 3 : Tổ chức Memory 36
  37. Câu hỏi ơn tập Theo quy ước, ngườI ta chia bộ nhớ thành từng vùng cĩ những địa chỉ được mơ tả bằng : a) số thập phân b) số thập lục phân c) số nhị phân d) số bát phân Chương 3 : Tổ chức Memory 37