<< Chapter < Page | Chapter >> Page > |
Thông thường người ta dùng thời gian thâm nhập trung bình bộ nhớ trong để đánh giá hiệu quả của cache.
Thời gian thâm nhập trung bình được cho bởi công thức:
Thời gian thâm nhập thành công là thời gian thâm nhập vào một thông tin trong một thành công cache. Tỉ số thất bại là tỉ số giữa số thất bại cache và tổng số thâm nhập cache. Thời gian thâm nhập thành công và trừng phạt thất bại được đo bằng đơn vị thời gian hoặc bằng chu kỳ xung nhịp (clock cycle).
Trong việc tìm kiếm thông tin trong cache phải chú ý làm giảm tỉ lệ thất bại mà các nguyên nhân chính là như sau:
- Khởi động: trong lần thâm nhập cache đầu tiên, không có thông tin cần tìm trong cache nên phải chuyển khối chứa thông tin đó vào cache.
- Khả năng: vì cache không thể chứa tất cả các khối cần thiết cho việc thi hành một chương trình nên gặp thất bại do cache thiếu khả năng, do đó một khối bị lấy ra khỏi cache rồi lại được đưa vào sau này.
- Tranh chấp: Nếu chiến thuật thay thế các khối là phối hợp theo tập hợp hay tương ứng trực tiếp, các thất bại do tranh chấp xảy ra vì một khối có thể bị đưa ra khỏi cache rồi được gọi vào sau đó nếu có nhiều khối phải được thay thế trong các tập hợp.
Ba nguyên nhân trên cho ta ý niệm về nguyên nhân thất bại, nhưng mô hình đơn giản trên có những hạn chế của nó. Mô hình này giúp ta thấy một số liệu trung bình nhưng chưa giải thích được từng thất bại một. Ví dụ, nếu tăng kích thước cache thì giảm thất bại do tranh chấp và thất bại do khả năng vì cache càng lớn thì nhiều khối có thể được đưa vào. Tuy nhiên, một thất bại có thể đi từ thất bại do khả năng đến thất bại do tranh chấp khi kích thước của cache thay đổi. Khi nêu ba nguyên nhân trên ta đã không lưu ý đến cách thức thay thế các khối. Cách thức này có thể dẫn đến những vận hành bất thường như là tỉ lệ thất bại cao lên khi độ phối hợp lớn lên.
Cache duy nhất chứa đồng thời lệnh và dữ liệu.
Cache riêng lẻ phân biệt cache lệnh và cache dữ liệu.
Giải pháp sau có lợi là tránh các khó khăn do kiến trúc, khi thi hành các lệnh dùng kỹ thuật ống dẫn.
Với một cache duy nhất, sẽ có tranh chấp khi một lệnh muốn thâm nhập một số liệu trong cùng một chu kỳ của giai đoạn đọc một lệnh khác. Cache riêng lẻ còn giúp tối ưu hoá mỗi loại cache về mặt kích thước tổng quát, kích thước các khối và độ phối hợp các khối.
Việc dùng cache trong có thể làm cho sự cách biệt giữa kích thước và thời gian thâm nhập giữa cache trong và bộ nhớ trong càng lớn. Người ta đưa vào nhiều mức cache:
Bộ xử lý | Kiểu | Năm phát hành | L1 Cache a | L2 Cache | L3 Cache |
IBM 360/85 | Mainframe | 1968 | 16 to 32 KB | - | - |
PDP-11/70 | Mini Computer | 1975 | 1 KB | - | - |
VAX 11/780 | Mini Computer | 1978 | 16 KB | - | - |
IBM 3033 | Mainframe | 1978 | 64 KB | - | - |
IBM 3090 | Mainframe | 1985 | 128 to 256 KB | - | - |
Intel 80486 | PC | 1989 | 8 KB | - | - |
Pentium | PC | 1993 | 8 KB / 8 KB | 256 to 512 KB | - |
PowerPC 601 | PC | 1993 | 32 KB | - | - |
PowerPC 620 | PC | 1996 | 32 KB / 32 KB | - | - |
PowerPC G4 | PC/Server | 1999 | 32 KB / 32 KB | 256KB to 1MB | 2 MB |
IBM S390/G4 | Mainframe | 1997 | 32 KB | 256 KB | 2 MB |
IBM S390/G6 | Mainframe | 1999 | 256 KB | 8 MB | - |
Pentium 4 | PC/Server | 2000 | 8 KB / 8 KB | 256 KB | - |
IBM SP | High-End server/ Super Computer | 2000 | 64 KB / 32 KB | 8 MB | - |
CRAY MTA b | Super Computer | 2000 | 8 KB | 2 MB | - |
Itanium | PC/Server | 2001 | 16 KB / 16 KB | 96 KB | 2 MB |
SGI Origin 2001 | High-End server | 2001 | 32 KB / 32 KB | 4 MB | - |
Notification Switch
Would you like to follow the 'Giáo trình kiến trúc máy tính' conversation and receive update notifications?