BỘ CÔNG THƯƠNG
TẬP ĐOÀN DỆT MAY VIỆT NAM
TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT VINATEX
TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TIỂU LUẬN MÔN KIẾN TRÚC MÁY TÍNH
ĐỀ TÀI:CACHE MEMORY
GVHD: Phạm Tuấn Hiệp
Nhóm thực hiện:
• Võ Thị Huệ Nhiểu (0901070037)
• Ngô Thanh Vũ (0901070058)
• Đinh Thị Hồng Nghi (0901070033)
LỚP : CD09I1_DT: 0932865448
TP.HCM 06/2011
……………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
I. Computer sytem memory overview (Tổng quan bộ nhớ máy tính)
1. Bộ nhớ (memory)
Các đặc trưng của bộ nhớ
- Vị trí: bộ nhớ là thiết bị nhớ có thể ghi và chứa thông tin như ROM, RAM,
cache, đĩa cứng, đĩa mềm, CD đều có thể gọi là bộ nhớ (vì chúng đều lưu trữ
thông tin).
- Dung lượng: khả năng lưu trữ dữ liệu của thiết bị. Với bộ nhớ trong, dung
lượng thường được biểu diễn dưới dạng byte. (1 byte = 8 bit) hay word. Các độ dài
word phổ biến là 8, 16, và 32 bit. Bộ nhớ ngoài có dung lượng được biểu thị theo
byte.Ví dụ: CD chứa được 700MB, đĩa mềm chứa được 1.44MB, đĩa cứng chứa
được 40 GB, 60GB, cache L1 chứa được 16KB, cache L2 chứa được 256 KB
- Đơn vị truyền: từ nhớ và khối nhớ.
- Giao tiếp: cấu trúc bên ngoài của bộ nhớ. Ví dụ, các RAM có số chân cắm và
đặc tính khác nhau.
- Phương pháp truy nhập:truy nhập tuần tự (băng từ), truy nhập trực tiếp (các
loại đĩa), truy nhập ngẫu nhiên (bộ nhớ bán dẫn), truy nhập liên kết (cache).
- Kiểu bộ nhớ vật lý: bộ nhớ bán dẫn, bộ nhớ từ, bộ nhớ quang.
- Các đặc tính vật lý: khả biến, không khả biến, xoá được, không xoá được.
- Hiệu năng: thời gian truy nhập, chu kỳ truy xuất bộ nhớ, tốc độ truyền.
2. Phân loại bộ nhớ
2.1. Bộ nhớ trong : là bộ nhớ thường được tổ chức từ nhiều vi mạch nhớ ghép lại để
có độ rộng bus địa chỉ và dữ liệu cần thiết.
4
a. Bộ nhớ chỉ đọc (ROM:Read Only Memory)
-Ðây là loại bộ nhớ không khả biến dùng trong các hãng sãn xuất là chủ yếu. Nó
có đặc tính là thông tin lưu trữ trong ROM không thể xoá được và không sửa được,
thông tin sẽ được lưu trữ mãi mãi. Nhưng ROM có bất lợi là một khi đã cài đặt thông
tin vào rồi thì ROM sẽ không còn tính đa dụng. Ví dụ điển hình là các con "chip"
trên motherboard hay là BIOS ROM để vận hành khi máy tính vừa khởi động.
Các kiểu ROM:
- SGRAM (Synchronous Graphic RAM)
2.2. Bộ nhớ cache (cache memory)
a. Cache : là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể là một vùng lưu
trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ
cache được dùng phổ biến trong máy tính cá nhân là memory cache (bộ nhớ cache
hay bộ nhớ truy xuất nhanh) và disk cache (bộ nhớ đệm đĩa).
b. Memory cache : Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh
(SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp
hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cache này rất có
hiệu quả. Bởi lẽ, hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ
liệu hay các lệnh y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy
tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.
c. Disk cache : Bộ nhớ đệm đĩa cũng hoạt động cùng nguyên tắc với bộ nhớ
cache, nhưng thay vì dùng SRAM tốc độ cao, nó lại sử dụng ngay bộ nhớ chính. Các
dữ liệu được truy xuất gần đây nhất từ đĩa cứng sẽ được lưu trữ trong một buffer
6
(phần đệm) của bộ nhớ. Khi chương trình nào cần truy xuất dữ liệu từ ổ đĩa, nó sẽ
kiểm tra trước tiên trong bộ nhớ đệm đĩa xem dữ liệu mình cần đang có sẵn không.
Cơ chế bộ nhớ đệm đĩa này có công dụng cải thiện một cách đáng ngạc nhiên sức
mạnh và tốc độ của hệ thống. Bởi lẽ, việc truy xuất 1 byte dữ liệu trong bộ nhớ RAM
có thể nhanh hơn hàng ngàn lần nếu truy xuất từ một ổ đĩa cứng. Và hiệu năng của
một cache được tính bằng hit rate (tốc độ tìm thấy dữ liệu trong cache).
2.3 Bộ nhớ ngoài
-Bộ nhớ chính bằng vật liệu bán dẫn không thể lưu trữ một khối lượng rất lớn dữ
liệu nên cần phải có thêm các thiết bị nhớ bên ngoài như đĩa từ, đĩa mềm, đĩa cứng,
đĩa quang, băng giấy đục lỗ, băng cassette, trống từ…
a. Đĩa từ là một tấm đĩa tròn, mỏng làm bằng chất dẻo, thủy tinh cứng hay kim
loại cứng, trên đó có phủ một lớp bột từ tính oxide sắt từ. Đĩa từ sử dụng kỹ thuật ghi
từ để lưu trữ dữ liệu. Khi đã ghi dữ liệu trên đĩa, dữ liệu có thể tồn tại khi không còn
nguồn cung cấp và cũng có khả năng xóa đi, thay thế bằng dữ liệu mới.
-Bộ nhớ cache được thiết kế với ý định mang lại bộ nhớ có tốc độ xấp xỉ tốc độ
của bộ nhớ nhanh nhất hiện có, đồng thời cung cấp một kích thước bộ nhớ lớn với
phí tổn ít hơn so với các loại bộ nhớ bán dẫn. Bộ nhớ cache chứa bản sao của một
8
phần bộ nhớ chính. Khi CPU cố gắng đọc một từ bộ nhớ, từ này sẽ được kiểm tra
xem có trong cache hay không. Nếu có, từ đó sẽ được cung cấp ngay cho CPU.
Trong trường hợp ngược lại, một khối bộ nhớ chính, bao gồm một lượng cố định các
từ sẽ được đọc vào trong cache và sau đó từ đó sẽ được cung cấp cho CPU. Do có
hiện tượng tham chiếu cục bộ, khi một khối dữ liệu được lấy vào trong cache để đáp
ứng một tham chiếu đơn lẻ, có nhiều khả năng các tham chiếu kế tiếp sẽ là các từ
khác trong cùng một khối.
-Cache có thể được gắn trực tiếp trên các thiết bị ngoại vi. Các đĩa cứng hiện đại
được gắn bộ nhớ truy cập nhanh, khoảng 512 KB. Máy tính không trực tiếp sử dụng
bộ nhớ này mà là chương trình điều khiển ổ cứng. Đối với máy tính, các chip có bộ
nhớ này được coi là đĩa. Khi máy tính yêu cầu dữ liệu từ ổ cứng, chương trình quản
lý đĩa sẽ kiểm tra bộ nhớ đó trước khi di chuyển các bộ phận cơ khí của đĩa cứng
(tốc độ rất chậm so với bộ nhớ). Nếu nó tìm thấy dữ liệu mà máy tính yêu cầu trong
cache, nó sẽ cung cấp thông tin đó mặc dù không thực sự truy cập vào ổ đĩa, tiết
kiệm rất nhiều thời gian.
Sơ đồ Cache và bộ nhớ chính
2. Thao tác của Cache
-CPU yêu cầu lấy nội dung của một ngăn nhớ bằng việc đưa ra một địa chỉ xác
định ô nhớ.
-CPU kiểm tra xem có nội dung cần tìm trong Cache.
-Nếu có: CPU nhận dữ liệu từ bộ nhớ Cache.
9
-Nếu không có: Bộ điều khiển Cache đọc Block nhớ chứa dữ liệu CPU cần vào
Cache.
-Tiếp đó chuyển dữ liệu từ Cache đến CPU.
-Sơ đồ thao tác cache, bộ nhớ chính và CPU.
Mỗi địa chỉ N bit của bộ nhớ chính gồm 3 trường:
• Trường Word gồm w bit xác định một từ nhớ trong Block hay Line:
2
w
= kích thước của Block hay Line
• Trường Line gồm r bit xác định một trong số các Line trong cache:
2
r
= số Line trong cache = m
• Trường Tag gồm s-r bit:
s-r = N – (W + L)
Nhận xét:
-Ưu điễm: đơn giản, chi phí ít.
-Nhược điểm là sự cố định các khối trong các line của Cache. Trong trường hợp
chương trình muốn truy xuất tới 2 Block tiên tục mà 2 block được phân nằm trong
cùng line thì khả năng Cache miss rất cao.
3.2. Phương pháp ánh xạ liên kết (Associative mapping)
- Một Block của bộ nhớ chính có thể nhập bất kỳ line nào trong Cache.
- Địa chỉ CPU phát ra được chia thành 2 địa chỉ tag và word
- Địa chỉ Tag xác định khối duy nhất của bộ nhớ nằm trong Cache.
- Mỗi giá trị Tag của Line là khác nhau.
- Chi phí phương pháp này đối với Cache là cao.
12
- 22 bit Tag để lưu trữ Block 4 byte dữ liệu. Tag xác định Block của bộ nhớ
chính.
- Việc kiểm tra Cache dựa vào các giá trị Tag trong line (22 bit) để nhận biết
Cache hit hay miss.
- Trường Word để xác định chính xác từ cần truy xuất
Đặc điểm:
- Phải so sánh với tất cả các tag nên mất nhiều thời gian.
-Có 3 loại bản đồ chức năng: lập bản đồ trực tiếp, đầy đủ kết hợp và cách thiết
lập liên kết.
3. Replacement Algorithm (thuật toán thay thế)
-Đó là một chương trình máy tính hay phần cứng một cấu trúc duy trì có thể làm
theo để quản lý một bộ nhớ cache của các thông tin lưu trữ trên máy tính. Khi bộ
nhớ cache đầy, các thuật toán phải chọn những mục để loại bỏ để nhường chỗ cho
những cái mới.
-Khi một dòng mới được nạp vào bộ nhớ cache, một trong những dòng hiện tại
cần phải được thay thế. Trong một bộ nhớ đệm ánh xạ trực tiếp, khối yêu cầu có thể
đi vào vị trí một cách chính xác, và các khối chiếm được vị trí đó phải được thay thế.
Trong một bộ nhớ đệm ánh xạ trực tiếp, khối yêu cầu có thể đi vào vị trí một cách
chính xác, và các khối chiếm được vị trí đó phải được thay thế. Trong một bộ nhớ
cache kết hợp chọn vị trí của khối yêu cầu, và do đó một sự lựa chọn trong đó khối
để thay thế. Trong một bộ nhớ cache kết hợp đầy đủ, tất cả các khối đều có thể thay
thế. Trong một bộ nhớ cache kết hợp thiết lập, chúng ta phải lựa chọn giữa các khối
trong tập hợp chọn. Vì vậy một sự thay thế dòng thuật toán là cần thiết mà thiết lập
được xác định tiêu chí tốt mà thay thế được thực hiện.
-Bộ nhớ đệm sử dụng phổ biến hiện nay: LRU(Least Recently Used), FIFO (First
In-First Out), LFU (Least Frequently Used), Random.
-Các thuật toán thường được sử dụng nhất là LRU.
15
4. Write Policy (viết chính sách)
- Chính sách viết cache sẽ quyết định cách nó xử lý ghi vào vị trí bộ nhớ hiện
đang được giữ trong bộ nhớ cache. Có hai loại chính sách là:
- Viết qua(write-through): Khi hệ thống viết cho một vị trí bộ nhớ hiện đang
được tổ chức trong bộ nhớ cache, nó ghi các thông tin mới cho cả các dòng bộ nhớ
cache bộ nhớ vị trí thích hợp và chính bản thân cùng một lúc. Đây là loại bộ nhớ
đệm cung cấp hiệu suất kém hơn ghi lại, nhưng đơn giản để thực hiện và có lợi thế là
thống nhất nội bộ, bởi vì bộ nhớ cache là không bao giờ ra khỏi đồng bộ với bộ nhớ
cách đó là với một bộ nhớ cache ghi lại.
là 256 hoặc 512 KB. L2 cache được để bên ngoài bộ xử lý, nhưng, bộ vi xử lý hiện
đại đã tích hợp nó thành chip. Ưu điểm lớn nhất của việc di chuyển các bộ nhớ cache
L2 trên chip và chạy nó ở tốc độ đồng hồ đầy đủ là có cả L1 và L2 cache có thể chạy
song song và được truy cập đồng thời, giảm độ trễ. Đây là một cách tốt để cải thiện
hiệu suất bộ nhớ cache.
- Ngoài hai số cache L1 và L2 còn có L3, thông thường L3 đặt bên ngoài bộ vi
xử lý và hoạt động ở cùng một tốc độ như là bộ nhớ chính. Nếu so sánh thì tốc độ L1
lớn nhất, kế đến là L2 và tiếp theo là L3.
- Thống nhất hoặc chia tách (unified or split)
- Khi Level 1 cache đầu tiên xuất hiện, hầu hết các thiết kế bao gồm một bộ nhớ
cache duy nhất được tổ chức cả dữ liệu và hướng dẫn tại cùng thời điểm. Điều này
được gọi là một bộ nhớ cache thống nhất (unified).Tuy nhiên, các hệ thống hiện đại
thường chia bộ nhớ L1 cache riêng biệt thành hai (cả hai đều vẫn được coi là L1
cache): một dành riêng để hướng dẫn cho các bộ xử lý và sự khác dành riêng cho các
dữ liệu mà các hướng dẫn sẽ hoạt động. Cách tiếp cận này được gọi là một bộ nhớ
đệm chia (split).
17
IV. Pentium II Cache Organizations(tổ chức bộ nhớ cache pentium II)
1. Pentium II
-Năm 1997, phiên bản cải tiến từ Pentium Pro được sử dụng trong những dòng
máy tính cao cấp, máy trạm (workstation) hoặc máy chủ (server).Là bộ xử lý 32 bit,
tích hợp 7.5 triệu transistor thừa hưởng đặc tính cùng với bộ xử lý 80386, 80486,
Pentium, Pentium Pro, quản lý địa chỉ vật lý lên đến 64 GB, truyền dữ liệu với bộ
nhớ 64 bit, có 2 cấp bộ nhớ cache , CPU clock 233 MHz .
- Các chân của Pentium : 274 chân (pin), 170 tín hiệu, 27 chân nguồn, 35 chân nối
đất, 10 chân dự trữ.
-Cấu trúc Pipeline trên bus bộ nhớ :Bus bộ nhớ của Pentium II gồm 6 chu kỳ
+ Chu kỳ phân xử bus(bus arbitration) : quyết định thiết bị làm chủ bus.
+ Chu kỳ yêu cầu bus(request) : cho phép địa chỉ nạp vào bus.
+ Chu kỳ báo cáo lỗi(error report) : thông báo cho thiết bị slave lỗi parity hoặc một
chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition
được tăng cường thêm bộ nhớ đệm L3 Cache.
CPU Slot 1 dạng cartridge với L2 Cache nằm cạnh nhân CPU.
19
-Nhờ nằm chung như vậy, tốc độ truy xuất cache tăng lên rõ rệt so với khi nó
nằm trên mainboard. Nhưng do L2 Cache vẫn phải ở ngoài nhân CPU nên Intel phải
chế ra một bo mạch gắn cả nhân CPU lẫn L2 Cache. Và thế là CPU có hình dạng to
đùng như một cái hộp (gọi là cartridge) và được gắn vào mainboard qua giao diện
slot (khe cắm), Slot 1. Tốc độ truy xuất cache lúc đó chỉ bằng phân nửa tốc độ CPU.
Thí dụ, CPU 266 MHz chỉ có tốc độ L2 Cache là 133 MHz. Sang Pentium III cũng
vậy. Mãi cho tới thế hệ Pentium III Coppermine (công nghệ 0.18-micron), Intel mới
thành công trong việc tích hợp ngay L2 Cache vào nhân chip (gọi là on-die cache).
Lúc đó, tốc độ L2 Cache bằng với tốc độ CPU và con CPU được thu gọn lại, đóng
gói với giao diện Socket 370.
CPU Socket 370 với L2 Cache nằm ngay trên nhân CPU.
Như đã nói, dung lượng của Cache CPU rất quan trọng. Phổ biến nhất là L2
Cache là một chip nhớ nằm giữa L1 Cache ngay trên nhân CPU và bộ nhớ hệ thống.
Khi CPU xử lý, L1 Cache sẽ tiến hành kiểm tra L2 Cache xem có dữ liệu mình cần
không trước khi truy cập vào bộ nhớ hệ thống. Vì thế, bộ nhớ đệm càng lớn, CPU
càng xử lý nhanh hơn. Đó là lý do mà cache được hổ trợ để việc xử lý diễn ra nhanh
chóng hơn.
20
Các trang web đã tham khảo và lấy tài liệu:
1.http://cdtvn.net/index.php?
option=com_content&task=view&id=520&Itemid=240
2.http://www.thuvien-it.net/home/tinhoc/view.asp?threadid=1464
http://www.vitinhthatdongian.com/bo-nho-may-tinh-cac-thuat-ngu-va-ky-thuat.html
3.http://dembinhyen.free.fr/UDS/Ebook/CD1/Kien%20Truc%20May
%20Tinh/Htm/Chuong4_3.htm
4.http://docs.google.com/viewer?
5. Block size (kích cỡ khối) 16
6. Number of Caches (số cache) 16
IV. Pentium II Cache Organizations(tổ chức bộ nhớ cache pentium II) 18
1. Pentium II 18
2. Bộ nhớ Cache trên Pentium II 18
Các trang web đã tham khảo và lấy tài liệu: 21
22