Kiến trúc máy tính tiên tiến

260 9 0
Kiến trúc máy tính tiên tiến

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu Kiến trúc máy tính tiên tiến do TS. Trần Công Hùng biên soạn gồm có 6 chương trình bày về giới thiệu chung; khối xử lý song song ở mức lệnh máy; các hạn chế khi thực hiện lệnh song song; các kiến trúc đa xử lý; các vi xử lý thực tế; kiến trúc bộ nhớ tiên tiến.

KIẾN TRÚC MÁY TÍNH TIÊN TIẾN HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TS TRẦN CÔNG HÙNG KIẾN TRÚC MÁY TÍNH TIÊN TIẾN NHÀ XUẤT BẢN THÔNG TIN VÀ TRUYỀN THÔNG LỜ I NÓ I ĐẦU Máy tính, cịn gọi máy vi tính hay điện tốn, thiết bị hay hệ thống dùng để tính tốn hay kiểm sốt hoạt động mà biểu diễn dạng số hay quy luật logic Máy tính điện tử đời vào năm 1946 Hoa Kỳ từ phát triển mạnh đến trải qua hệ máy - Thế hệ (thập niên 50): Dùng bóng điện tử chân khơng, tiêu thụ lượng nhiều Kích thước máy lớn (khoảng 250 m2) tốc độ xử lý lại chậm đạt khoảng vài ngàn phép tính giây giá thành lại cao - Thế hệ (thập niên 60): Các bóng điện tử thay bóng làm chất bán dẫn nên lượng tiêu thụ giảm, kích thước nhỏ lớn (50 m2), tốc độ xử lý đạt khoảng vài chục ngàn phép tính giây - Thế hệ (thập niên 70): Thời gian đánh dấu đời phát triển công nghệ vi mạch tích hợp IC Máy tính có kích thước nhỏ gọn tiêu thụ lượng hơn, tốc độ xử lý đạt khoảng vài trăm ngàn phép tính giây - Thế hệ (thập niên 80): Dùng cơng nghệ vi mạch tích hợp IC nhỏ gọn mà tốc độ tính tốn lại cao nhờ cơng nghệ ép vi mạch tiên tiến Có nhiều loại máy để phục vụ cho nhiều mục đích sử dụng, chia làm loại chính: main frame computer, mini computer, micro computer - Thế hệ 5: hệ máy tính nay, tập trung phát triển nhiều mặt nhằm nâng cao tốc độ xử lý tạo thêm nhiều tính cho máy Các máy tính xử lý hàng chục tỷ phép tính giây Trong sách này, nghiên cứu khảo sát tổ chức, hoạt động máy tính gọi tiên tiến vào thời điểm Nội dung sách gồm chương: Chương 1: Giới thiệu chung Chương 2: Khối xử lý song song mức lệnh máy Chương 3: Các hạn chế thực lệnh song song Chương 4: Các kiến trúc đa xử lý Chương 5: Các vi xử lý thực tế Chương 6: Kiến trúc nhớ tiên tiến Hy vọng sách thực hữu ích sinh viên giảng viên nhóm ngành kỹ thuật điện tử - máy tính, sử dụng sách làm giáo trình giảng dạy học tập cho môn học cấu trúc máy tính Ngồi ra, sách tài liệu tham khảo để phục vụ cho kỹ sư nghiên cứu sinh công tác chuyên môn Trong trình biên soạn, có nhiều cố gắng khó tránh khỏi thiếu sót, mong nhận cảm thơng ý kiến đóng góp quý vị độc giả để lần tái bổ sung hồn chỉnh Mọi ý kiến đóng góp xin gửi qua e-mail: conghung@ptithcm.edu.vn Tác giả MỤC LỤC Lời nói đầu Thuật ngữ viết tắt 11 Chương 1: GIỚI THIỆU CHUNG 13 1.1 Giới thiệu .13 1.2 Nhu cầu tính tốn phân loại máy tính 16 1.2.1 Máy tính để bàn .17 1.2.2 Máy chủ 17 1.2.3 Máy tính nhúng (Embedded computer) 19 1.2.4 Định nghĩa kiến trúc máy tính .20 1.2.5 Kiến trúc tập lệnh 20 1.3 Các xu hướng công nghệ .26 1.3.1 Các xu hướng hiệu suất: Băng thông độ trễ .28 1.3.2 Tỉ lệ hiệu suất bán dẫn dây 28 1.3.3 Xu hướng lượng mạch tích hợp .30 1.4 Sơ lược số kiến trúc máy tính đại 32 1.4.1 Ưu điểm tính song song 32 1.4.2 Nguyên tắc vùng 33 1.4.3 Tập trung vào trường hợp chung .33 1.4.4 Luật Amdahl 34 1.4.5 Phương trình hiệu suất vi xử lý 37 1.4.6 Nghiên cứu trường hợp 1: Chi phí chế tạo Chip 40 1.4.7 Nghiên cứu trường hợp 2: Điện tiêu thụ hệ thống máy tính 42 1.4.8 Nghiên cứu trường hợp 3: Chi phí cho máy chủ web .44 1.4.9 Nghiên cứu trường hợp 4: Hiệu suất 46 Chương 2: KHỐI XỬ LÝ SONG SONG Ở MỨC LỆNH MAÙY .49 2.1 Kỹ thuật đường ống xử lý song song mức lệnh máy 49 2.1.1 Kỹ thuật đường ống gì? Và cách triển khai kỹ thuật đường ống .49 2.1.2 Các khó khăn sử dụng đường ống cách khắc phục .52 Kiến trúc máy tính tiên tiến 2.2 Kết hợp xử lý song song mức lệnh máy giải pháp phần mềm ILP 59 2.2.1 Chương trình dịch kỹ thuật đường ống .59 2.2.2 Hỗ trợ phần cứng chương trình dịch 65 2.3 Lưu trữ dựa phần cứng 90 2.4 Khai thác ILP sử dụng đa phát lập lịch tĩnh 100 2.5 Triển khai ILP dùng lập lịch động, đa phát lưu trữ 105 2.6 Các kỹ thuật nâng cao cho việc phân phối lệnh lưu trữ 108 2.6.1 Tăng băng thông lấy lệnh 108 2.6.2 Bộ đệm nhánh mục tiêu .108 2.6.3 Trả địa dự báo .112 Chương 3: CÁC HẠN CHẾ KHI THỰC HIỆN LỆNH SONG SONG 114 3.1 Giới thiệu .114 3.2 Nghiên cứu hạn chế ILP .114 3.2.1 Mơ hình phần cứng 115 3.2.2 Những hạn chế kích thước cửa sổ đếm phát cực đại .117 3.2.3 Những ảnh hưởng nhánh thực bước dự báo .121 3.2.4 Những ảnh hưởng ghi hữu hạn 123 3.2.5 Những ảnh hưởng phân tích alias khơng hồn hảo 125 3.2.6 Hạn chế ILP vi xử lý 127 3.2.7 Những hạn chế phát sinh 130 3.3 Xử lý song song mức luồng (thread) 132 3.4 Hiệu suất hiệu vi xử lý tiên tiến .134 3.5 Khả thực lệnh song song phụ thuộc 138 3.6 Kết luận .145 Chương 4: CÁC KIẾN TRÚC ĐA XỬ LÝ 146 4.1 Giới thiệu đa xử lý đa nhân 146 4.2 Phân loại kiến trúc song song 147 4.3 Các kiến trúc chia sẻ nhớ 152 4.3.1 Các kiến trúc chia sẻ nhớ đối xứng .155 4.3.2 Các kiến trúc chia sẻ nhớ phân tán 170 4.4 Bộ nhớ chia sẻ phân tán liên kết dựa thư mục .182 4.4.1 Các giao thức liên kết cache dựa vào thư mục 183 4.4.2 Ví dụ Directory Protocol .187 Mục lục 4.5 Khái niệm đồng hóa .190 4.5.1 Các Primitive phần cứng 191 4.5.2 Thực khóa (lock) sử dụng gắn kết (coherence) 193 4.6 Giới thiệu tính thống mơ hình nhớ 196 4.6.1 Quan niệm Lập trình viên (Programmer) 198 4.6.2 Các khái niệm mơ hình nghỉ ngơi qn .198 4.6.3 Nhận xét mơ hình quán .199 4.7 Các vấn đề xuyên suốt (Crosscutting issue) 200 4.7.1 Tối ưu hóa, trình biên dịch mơ hình qn .200 4.7.2 Sử dụng dự đốn ẩn trễ mơ hình quán nghiêm ngặt 200 4.7.3 Kết luận thực thi 201 4.8 Kiến trúc đa xử lý cụ thể Sun T1 .202 4.8.1 Hiệu suất T1 203 4.8.2 Hiệu suất toàn phần 206 4.8.3 Hiệu suất xử lý đa lõi chuẩn SPEC 208 4.9 Những vấn đề cần lưu ý .210 4.9.1 Lưu ý 210 4.9.2 Lưu ý 211 4.9.3 Lưu ý 212 4.9.4 Lưu ý 213 4.9.5 Lưu ý 214 4.10 Kết luận .215 Chương 5: CÁC VI XỬ LÝ THỰC TẾ 217 5.1 Very-Long Instruction Word (VLIW) .217 5.1.1 Giới thiệu .217 5.1.2 Khả thực lệnh song song (ILP) 217 5.1.3 VLIW 218 5.1.4 Tổ chức VLIW processor 220 5.1.5 Ưu, khuyết điểm xử lý VLIW 221 5.1.6 Tóm tắt 222 5.2 Kiến trúc máy chủ Sun Sparc MX000 - M5000 222 5.2.1 Giới thiệu dòng máy chủ doanh nghiệp MX000 222 5.2.2 Kiến trúc chung máy chủ M5000 223 10 Kiến trúc máy tính tiên tiến 5.2.3 Bộ nhớ 224 5.2.4 Kiến trúc Bus hệ thống 226 5.2.5 Bộ xử lý SPARC64 VII .227 5.2.6 Lõi (Core) 227 5.2.7 Hệ thống Cache 228 5.2.8 Kiến trúc I/O 229 5.3 Công nghệ Centrino CPU 229 5.3.1 Lịch sử phát triển Centrino 229 5.3.2 Centrino hệ .230 5.3.3 Centrino hệ thứ hai: “Sonoma” 230 5.3.4 Centrino hệ thứ ba: “Napa” 231 5.3.5 Centrino hế hệ thứ tư: “Santa Rosa” 232 5.4 Những công nghệ ứng dụng tảng Intel Centrino 235 5.4.1 Bộ vi xử lý Intel Core Duo .235 5.4.2 Họ chipset Mobile Intel® 965 Express 237 5.4.3 Hệ thống kết nối Intel WiFi Link 5000 Series 237 5.4.4 Hệ thống kết nối mạng Intel® 82567 Gigabit .238 5.4.5 Chuyển đổi đồ họa tích hợp đồ họa rời 238 5.4.6 Cơng nghệ nhớ Intel® Turbo Memory 239 5.4.7 Kết luận 239 Chương 6: KIẾN TRÚC BỘ NHỚ TIÊN TIẾN 240 6.1 Một số kiểu tổ chức nhớ tốc độ cao 240 6.1.1 Các loại nhớ 240 6.1.2 Các cấp nhớ 243 6.2 Các công nghệ nhớ tiên tiến 244 6.3 Bộ nhớ Cache tiên tiến 244 6.3.1 Vận hành Cache 244 6.3.2 Hiệu Cache .251 6.3.3 Cache hay Cache riêng lẻ 252 6.3.4 Các mức Cache 252 6.3.5 Bộ nhớ 253 6.4 Hỗ trợ nhớ ảo 255 6.5 Bảo vệ tiến trình cách dùng nhớ ảo .259 THUẬT NGỮ VIẾT TẮT BTB Branch Target Buffer CDB Common Data Bus COD Computer Organization and Design CPI Clock cycles Per Instruction DLP Data-Level Parallelism DSM Distributed Shared Memory DSS Decision Support System FP Floating Point FPSQR FP Square Root HPF High Performance Fortran IC Instruction Count ID Instruction Decode ILP Instruction-Level Parallelism IPC Instructions Per Clock ISA Instruction Set Architecture LLP Loop-Level Parallelism MIMD Multiple Instruction stream, Multiple Data stream MIPS Million Instructions Per Second MISD Multiple Instruction stream, Single Data stream Chương 6: Kiến trúc nhớ tiên tiến 247 Trong cách đặt khối theo kiểu phối hợp theo tập hợp, tập hợp có m khối, tương ứng khối nhớ khối cache gọi phối hợp theo tập hợp m khối - Nếu m=1 (mỗi tập hợp có khối), ta có kiểu tương ứng trực tiếp - Nếu m=n (n: số khối cache), ta có kiểu hồn tồn phối hợp Hiện nay, phần lớn cache xử lý kiểu tương ứng trực tiếp hay kiểu phối hợp theo tập hợp (mỗi tập hợp gồm khối) Ví dụ: Bộ nhớ có 32 khối, cache có khối, khối gồm 32 byte, khối thứ 12 nhớ đưa vào cache Trả lời câu hỏi 2: Làm để tìm khối diện cache (nhận diện khối)? Mỗi khối cache có nhãn địa cho biết số thứ tự khối nhớ diện cache Nhãn khối cache chứa thông tin cần thiết xem xét để biết khối nằm cache có chứa thơng tin mà xử lý cần đọc hay không Tất nhãn xem xét song song (trong kiểu tương ứng trực tiếp phối hợp theo tập hợp) tốc độ yếu tố then chốt Để biết xem khối của cache có chứa thơng tin mà xử lý cần tìm hay khơng, người ta thêm bit đánh dấu (valid bit) vào nhãn để nói lên khối có chứa thơng tin mà xử lý cần tìm hay khơng Như mơ tả phần đầu, với thao tác đọc (ghi) nhớ, xử lý đưa địa nhận (viết vào) liệu từ (vào) nhớ Địa mà xử lý đưa phân tích thành hai thành phần: phần nhận dạng số thứ tự khối phần xác định vị trí từ cần đọc khối 248 Kiến trúc máy tính tiên tiến Tương ứng với ba kiểu lắp đặt khối xét, ta có: a Căn vào tổ chức số từ khối nhớ mà số bit địa xác định vị trí từ cần đọc khối Cách với ba cách xếp đặt khối xét b Phần nhận dạng số thứ tự khối khác tùy thuộc vào cách xếp đặt khối, trường số khối so sánh với nhãn cache để xác định khối cache Dữ liệu xử lý đọc lúc với việc đọc nhãn Phần số khối khối nhớ so sánh với bảng tương quan để xác định khối có nằm cache hay khơng Để nhãn chứa thông tin đắn (tức khối có chứa từ mà xử lý cần đọc-ghi), việc so sánh nhãn khối cache giống với số thứ tự khối, bit đánh dấu (valid bit) phải bật lên Ngược lại, kết so sánh bỏ qua Bộ xử lý vào phần xác định từ khối để đọc (ghi) liệu từ (vào) cache • Đối với kiểu tương ứng trực tiếp, phần nhận dạng số khối chia thành hai phần: - Phần số khối cache: số thứ tự khối cache tương ứng cần xem xét - Phần nhãn: so sánh tương ứng với nhãn khối cache phần số khối Chỉ số khối nhớ Nhãn Chỉ số khối cache Địa từ cần đọc khối • Đối với kiểu hoàn toàn phối hợp, phần nhận dạng số khối địa so sánh với nhãn tất khối cache Chỉ số khối Địa từ cần đọc khối • Đối với kiểu phối hợp theo tập hợp, phần nhận dạng số khối chia thành hai phần: - Phần số tập hợp: số thứ tự tập hợp cache cần xem xét - Phần nhãn: so sánh tương ứng với nhãn khối cache thuộc tập hợp phần số tập hợp Chỉ số khối nhớ Nhãn Chỉ số tập hợp Địa từ cần đọc khối Ví dụ: Phân tích địa từ cho trên, địa xác định từ nhớ có 10 bit, tùy theo cách xếp đặt khối mà ta phân tích địa thành thành phần sau: Chương 6: Kiến trúc nhớ tiên tiến 249 Đối với kiểu tương ứng trực tiếp: 10 bit Chỉ số khối nhớ (5 bit) Nhãn (2 bit) Chỉ số khối cache (3 bit) Địa từ cần đọc khối (5 bit) Đối với kiểu hoàn toàn phối hợp: 10 bit Chỉ số khối nhớ (Nhãn) (5 bit) Địa từ cần đọc khối (5 bit) Đối với kiểu phối hợp theo tập hợp, giả sử cache gồm tập hợp, tập hợp gồm hai khối: 10 bit Chỉ số khối nhớ (5 bit) Nhãn (3 bit) Chỉ số khối cache (2 bit) Địa từ cần đọc khối (5 bit) Trả lời câu hỏi 3: Khối phải thay trường hợp thất bại cache (thay khối)? Khi có thất bại cache, điều khiển cache thâm nhập nhớ chuyển khối mà xử lý cần đọc (ghi) vào cache Như vậy, khối cache bị thay khối chuyển lên Đối với kiểu tương ứng trực tiếp, vị trí đặt khối khơng có lựa chọn, xác định trường số khối cache địa từ cần đọc (ghi) Nếu cache kiểu hoàn toàn phối hợp hay phối hợp theo tập hợp thất bại phải chọn lựa thay nhiều khối Có bốn chiến thuật chủ yếu dùng để chọn khối thay cache: • Thay ngẫu nhiên: để phân bố đồng việc thay thế, khối cần thay cache chọn ngẫu nhiên • Khối xưa (LRU - Least Recently Used): khối thâm nhập đánh dấu khối bị thay khối không dùng từ lâu • Vào trước trước (FIFO - First In First Out): Khối đưa vào cache đầu tiên, bị thay thế, khối thay trước 250 Kiến trúc máy tính tiên tiến • Tần số sử dụng (LFU - Least Frequently Used): Khối cache tham chiếu Điều sử dụng hệ nguyên tắc sử dụng ô nhớ theo thời gian: khối dùng có khả dùng tương lai gần, khối bị thay khối không dùng thời gian lâu Trả lời câu hỏi 4: Việc xảy ghi vào nhớ (chiến thuật ghi)? Thông thường xử lý thâm nhập cache để đọc thơng tin Chỉ có khoảng 15% thâm nhập vào cache để thực thao tác ghi (con số 33% với tính tốn vectơ-vectơ 55% phép dịch chuyển ma trận) Như vậy, để tối ưu hóa hoạt động cache, nhà thiết kế tìm cách tối ưu hóa việc đọc xử lý phải đợi đến việc đọc hồn thành khơng đợi đến việc ghi hồn tất Hơn nữa, khối đọc, so sánh việc đọc khối bắt đầu số khối biết Nếu thao tác đọc thành công, liệu ô nhớ cần đọc giao cho xử lý Chú ý rằng, khối ánh xạ từ nhớ vào cache, việc đọc nội dung khối cache không làm thay đổi nội dung khối so với khối nằm nhớ Đối với việc ghi vào nhớ khơng giống trên, việc thay đổi nội dung khối bắt đầu trước nhãn xem xét để biết có thành cơng hay thất bại Thao tác ghi vào nhớ tốn nhiều thời gian thao tác đọc nhớ Trong việc ghi nhớ cịn có khó khăn khác xử lý cho biết số byte cần phải ghi, thường từ đến byte Để đảm bảo đồng liệu lưu trữ, có hai cách để ghi vào cache: • Ghi đồng thời: Thơng tin ghi đồng thời vào khối cache khối nhớ Cách ghi làm chậm tốc độ chung hệ thống Các ngoại vi truy cập nhớ trực tiếp • Ghi lại: Để đảm bảo tốc độ xử lý hệ thống, thông tin cần ghi ghi vào khối cache Để quản lý khác biệt nội dung khối cache khối nhớ trong, bit trạng thái (Dirty bit hay Update bit) dùng để thị Khi thao tác ghi vào cache, bit trạng thái (Dirty bit hay Update bit) khối cache thiết lập Khi khối bị thay thế, khối ghi lại vào nhớ bit trạng thái thiết lập Với cách ghi này, ngoại vi liên hệ đến nhớ thơng qua cache Khi có thất bại ghi vào cache phải lựa chọn hai giải pháp sau: • Ghi có nạp: Khối cần ghi từ nhớ nạp vào cache mô tả Cách thường dùng cách ghi lại Chương 6: Kiến trúc nhớ tiên tiến 251 • Ghi khơng nạp: Khối thay đổi nhớ không đưa vào cache Cách dùng cách ghi đồng thời Trong tổ chức có nhiều xử lý với tổ chức cache nhớ chia sẻ, vấn đề liên quan đến tính đồng liệu cần đảm bảo Sự thay đổi liệu cache riêng lẻ làm cho liệu hệ thống cache nhớ liên quan khơng đồng Vấn đề giải hệ thống cache tổ chức sau: • Mỗi điều khiển cache theo dõi thao tác ghi vào nhớ từ phận khác Nếu thao tác ghi vào phần nhớ chia sẻ ánh xạ vào cache quản lý, điều khiển cache vơ hiệu hóa thâm nhập Chiến lược phụ thuộc vào cách ghi đồng thời tất điều khiển cache • Một vi mạch dùng để điều khiển việc cập nhật, thao tác ghi vào nhớ từ cache cập nhật cache khác • Một vùng nhớ chia sẻ cho hay nhiều xử lý khơng ánh xạ lên cache Như vậy, tất thâm nhập vào vùng nhớ chia sẻ bị thất bại 6.3.2 Hiệu Cache Thông thường người ta dùng thời gian thâm nhập trung bình nhớ để đánh giá hiệu cache Thời gian thâm nhập trung bình cho cơng thức: Thời gian thâm nhập trung bình = Thời gian thâm nhập thành công + Tỉ số thất bại x Trừng phạt thất bại Thời gian thâm nhập thành công thời gian thâm nhập vào thông tin thành công cache Tỉ số thất bại tỉ số số cache thất bại tổng số thâm nhập cache Thời gian thâm nhập thành công trừng phạt thất bại đo đơn vị thời gian chu kỳ xung nhịp (clock cycle) Trong việc tìm kiếm thông tin cache phải ý làm giảm tỉ lệ thất bại mà nguyên nhân sau: • Khởi động: lần thâm nhập cache đầu tiên, khơng có thơng tin cần tìm cache nên phải chuyển khối chứa thơng tin vào cache • Khả năng: cache khơng thể chứa tất khối cần thiết cho việc thi hành chương trình nên gặp thất bại cache thiếu khả năng, khối bị lấy khỏi cache lại đưa vào sau 252 Kiến trúc máy tính tiên tiến • Tranh chấp: Nếu chiến thuật thay khối phối hợp theo tập hợp hay tương ứng trực tiếp, thất bại tranh chấp xảy khối bị đưa khỏi cache gọi vào sau có nhiều khối phải thay tập hợp Ba nguyên nhân cho ta ý niệm nguyên nhân thất bại, mơ hình đơn giản có hạn chế Mơ hình giúp ta thấy số liệu trung bình chưa giải thích thất bại Ví dụ, tăng kích thước cache giảm thất bại tranh chấp thất bại khả cache lớn nhiều khối đưa vào Tuy nhiên, thất bại từ thất bại khả đến thất bại tranh chấp kích thước cache thay đổi Khi nêu ba nguyên nhân ta không lưu ý đến cách thức thay khối Cách thức dẫn đến vận hành bất thường tỉ lệ thất bại tăng độ phối hợp lớn lên 6.3.3 Cache hay Cache riêng lẻ Cache chứa đồng thời lệnh liệu Cache riêng lẻ phân biệt cache lệnh cache liệu Với cache nhất, có tranh chấp lệnh muốn thâm nhập số liệu chu kỳ giai đoạn đọc lệnh khác Cache riêng lẻ giúp tối ưu hóa loại cache mặt kích thước tổng quát, kích thước khối độ phối hợp khối 6.3.4 Các mức Cache Việc dùng cache làm cho cách biệt kích thước thời gian thâm nhập cache nhớ lớn Người ta đưa vào nhiều mức cache: • Cache mức (L1 cache): thường cache (on-chip cache, nằm bên CPU) • Cache mức hai (L2 cache): thường cache (off-chip cache, cache nằm bên ngồi CPU) • Ngồi ra, số hệ thống (PowerPC G4, IBM S/390 G4, Itanium Intel) cịn có tổ chức cache mức ba (L3 cache), mức cache trung gian cache L2 thẻ nhớ 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 KB - - VAX 11/780 Mini Computer 1978 16 KB - - Mainframe 1978 64 KB - - Bộ xử lý IBM 3033 Chương 6: Kiến trúc nhớ tiên tiến 253 Kiểu Năm phát hành L1 Cache a L2 Cache L3 Cache Mainframe 1985 128 to 256 KB - - Intel 80486 PC 1989 KB - - Pentium PC 1993 KB / 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 256 KB to MB MB IBM S390/G4 Mainframe 1997 32 KB 256 KB MB IBM S390/G6 Mainframe 1999 256 KB MB - Pentium PC/Server 2000 KB / KB 256 KB - IBM SP High-End server/ Super Computer 2000 64 KB / 32 KB MB - CRAY MTA b Super Computer 2000 KB MB - PC/Server 2001 16 KB / 16 KB 96 KB MB 2001 32 KB / 32 KB MB - Bộ xử lý IBM 3090 Itanium SGI Origin 2001 High-End server a Hai giá trị cách dấu “/” giá trị cache lệnh cache liệu b Cả hai giá trị cache lệnh Bảng 6.2: Kích thước Cache số hệ thống 6.3.5 Bộ nhớ Bộ nhớ thỏa mãn yêu cầu cache dùng làm đệm vào nhớ vừa nơi chứa thơng tin từ ngồi đưa vào, vừa nơi xuất thông tin cho cache Việc đo hiệu nhớ dựa vào thời gian thâm nhập bề rộng dải thông Thông thường thời gian thâm nhập nhớ phần tử quan trọng cho cache lúc nhớ dải thông phần cho tác vụ xuất nhập Với việc dùng phổ biến cache ngồi, dải thơng nhớ trở thành quan trọng cho cache Mặc dù cache cần nhớ có thời gian thâm nhập nhỏ, thường dễ cải thiện dải thơng nhớ nhờ nhiều cách tổ chức nhớ mới, giảm thời gian thâm nhập cho cache Cache thụ hưởng tiến dải thông cách tăng kích thước khối cache mà khơng tăng đáng kể trừng phạt thất bại cache Người ta dùng kỹ thuật sau để nới rộng dải thơng nhớ trong: • Nới rộng chiều dài ô nhớ trong: kỹ thuật đơn giản để tăng dải thông nhớ Thông thường cache nhớ có chiều rộng nhớ chiều rộng từ xử lý thâm nhập vào từ ô nhớ Nhân đôi, nhân bốn chiều rộng ô nhớ cache nhớ làm lưu lượng thâm nhập nhớ nhân đôi hay nhân bốn Vậy phải nới rộng bus nhớ (là bus nối xử lý với nhớ) 254 Kiến trúc máy tính tiên tiến Một ví dụ xử lý có chiều dài nhớ lớn xử lý Alpha AXP 21064 (Hãng DEC) Cache ngoài, nhớ bus nhớ có độ rộng 256 bit • Bộ nhớ đan chéo đơn giản: IC nhớ tổ chức thành dải để đọc hay viết nhiều từ lúc thay đọc từ, độ rộng bus cache không thay đổi Khi gửi nhiều địa đến nhiều dải ta đọc nhiều từ lúc Bộ nhớ đan chéo cho phép ghi vào nhớ nhiều từ lúc Tổ chức nhớ đan chéo đơn giản không rắc rối nhiều so với tổ chức bình thường nhớ trong, dải dùng chung đường địa với điều khiển ô nhớ dải dùng phần số liệu bus nhớ SDRAM DDR SDRAM loại RAM dùng kỹ thuật • Bộ nhớ đan chéo tổ chức thành dải độc lập: tổ chức nhớ đan chéo hiệu cho phép nhiều thâm thập nhớ cho phép dải làm việc độc lập với Mỗi dải cần có đường địa riêng biệt đơi cần bus số liệu riêng biệt: Trong trường hợp xử lý tiếp tục cơng việc lúc chờ đợi số liệu (trường hợp thất bại cache) RDRAM nhớ loại Tránh xung đột dải nhớ Trong máy tính đa xử lý máy tính vectơ, hệ thống nhớ thiết kế nhằm cho phép nhiều yêu cầu thâm nhập độc lập Sự hiệu hệ thống tùy thuộc vào tần số trường hợp có yêu cầu độc lập thâm nhập vào dải khác Với đan chéo bình thường (hình 6.6), thâm nhập tất thâm nhập vào địa cách biệt số chẵn, vận hành tốt gặp rắc rối cách biệt địa số lẻ Một biện pháp mà máy tính lớn dùng làm giảm bớt trường hợp xung đột tĩnh cách tăng số lượng dải Ví dụ, máy NEC SX/3 chia nhớ 128 dải Địa Dải Địa Dải Địa Dải Địa 10 11 12 13 14 15 Dải Hình 6.6: Bộ nhớ đan chéo bậc Dải thứ i chứa tất từ có địa thỏa mãn công thức (địa chỉ) mod = i Chương 6: Kiến trúc nhớ tiên tiến 255 6.4 Hỗ trợ nhớ ảo Bộ nhớ ảo xác định chế vận chuyển tự động số liệu nhớ nhớ (đĩa từ) Trước đây, độ dài chương trình vượt giới hạn dung lượng nhớ người lập trình phải phân chia chương trình thành phần tự loại bỏ (overlay) phải tự quản lý việc trao đổi thông tin nhớ đĩa từ Bộ nhớ ảo làm nhẹ trách nhiệm nhà lập trình cách làm cho việc trao đổi thông tin thực cách tự động Trong xử lý đại, nhớ ảo dùng phép thực lúc nhiều tiến trình (process), tiến trình có khơng gian định vị riêng Nếu tất không gian định vị thuộc không gian định vị nhớ tốn Bộ nhớ ảo bao gồm nhớ nhớ ngồi phân tích thành khối để cung cấp cho chương trình số khối cần thiết cho việc thực chương trình Hình 6.7 cho thấy chương trình chứa nhớ ảo gồm khối, khối nằm nhớ trong, khối thứ tư nằm đĩa Hình 6.7: Một chương trình gồm trang A, B, C, D trang D nằm ổ đĩa 256 Kiến trúc máy tính tiên tiến Ngồi việc phân chia khơng gian nhớ, cần bảo vệ quản lý tự động cấp nhớ, nhớ ảo đơn giản hóa việc nạp chương trình vào nhớ để thi hành nhờ chế gọi tái định địa (address relocation) Cơ chế cho phép chương trình thi hành nằm vị trí nhớ Ngồi khác biệt định lượng mà ta thấy hình 6.9, có khác biệt khác nhớ cache nhớ ảo là: - Khi thất bại cache, thay khối cache điều khiển phần cứng, thay nhớ ảo chủ yếu hệ điều hành Tham số Cache Bộ nhớ ảo Chiều dài khối (trang) 16 – 128 byte 4096 – 65536 byte Thời gian thâm nhập thành công – xung nhịp 40 – 100 xung nhịp Trừng phạt thất bại – 100 xung nhịp 700.000 – triệu xung Thời gian thâm nhập – 60 xung 500.000 – triệu xung Di chuyển số liệu – 40 xung 200.000 – triệu xung Tỉ số thất bại 0,5% - 10% 0,00001% - 0,001% Dung lượng KB – MB 16 MB – GB Bảng 6.3: Đại lượng điển hình cho nhớ Cache nhớ ảo So với nhớ cache tham số nhớ ảo tăng từ 10 đến 100.000 lần - Không gian định vị mà xử lý quản lý không gian định vị nhớ ảo, lúc dung lượng nhớ cache khơng tùy thuộc vào không gian định vị xử lý - Bộ nhớ ngồi cịn dùng để lưu trữ tập tin ngồi nhiệm vụ hậu phương nhớ (trong cấp nhớ) Bộ nhớ ảo thiết kế nhiều kỹ thuật đặc thù cho Các hệ thống nhớ ảo chia thành loại: loại với khối có dung lượng cố định gọi trang loại với khối có chiều dài thay đổi gọi đoạn Định vị trang xác định địa trang, giống định vị cache Trong định vị đoạn cần từ: từ chứa số thứ tự đoạn từ chứa độ dời đoạn Chương trình dịch gặp khó khăn nhiều định vị đoạn Do việc thay đoạn, ngày máy tính dùng định vị đoạn túy Một vài máy dùng cách hỗn hợp gọi đoạn trang Trong đoạn chứa số nguyên trang Bây trả lời câu hỏi đặt cấp nhớ cho nhớ ảo Chương 6: Kiến trúc nhớ tiên tiến 257 Câu hỏi 1: Một khối đặt đâu nhớ trong? Việc trừng phạt nhớ ảo có thất bại, tương ứng với việc phải thâm nhập vào ổ đĩa Việc thâm nhập chậm nên người ta chọn phương án hoàn tồn phối hợp khối (trang) nằm vị trí nhớ Cách cho tỉ lệ thất bại thấp Địa ảo Bộ nhớ ảo - 1023 Page 1024 – 2047 Page Bộ nhớ vật lý Địa vật lý 2048 – 3071 Page Page frame 0 - 1023 3072 - 4095 Page Page frame 1024 – 2047 4096 – 5119 Page Page frame 2048 – 3071 5120 – 6143 Page Page frame 3072 - 4095 6144 – 7167 Page 7168 - 8191 Page Hình 6.8: Ánh xạ trang ảo vào nhớ vật lý Câu hỏi 2: Làm để tìm khối nằm nhớ trong? Định vị trang định vị đoạn dựa vào cấu trúc liệu số thứ tự trang số thứ tự đoạn có số Cho định vị trang, dựa vào bảng trang, địa nhớ vật lý xác lập cuối việc đặt kề số thứ tự trang vật lý với địa trang (hình 6.9) Cho định vị đoạn, dựa vào thông tin bảng đoạn, việc kiểm tra tính hợp lệ địa tiến hành Địa vật lý cuối xác lập cách cộng địa đoạn địa đoạn (độ dời đoạn) - hình 6.10 Câu hỏi 3: Khối phải thay có thất bại trang? Hầu hết hệ điều hành cố gắng thay khối dùng gần (LRU: Least Recent Utilized) nghĩ khối cần Câu hỏi 4: Việc xảy cần ghi số liệu? Chiến thuật ghi ghi lại, nghĩa thông tin viết vào khối nhớ Khối có thay đổi thơng tin, chép vào đĩa từ khối bị thay 258 Kiến trúc máy tính tiên tiến Hình 6.9: Minh họa ánh xạ địa nhớ ảo nhớ vật lý định vị trang Hình 6.10: Ánh xạ địa nhớ ảo nhớ vật lý cách định vị đoạn Chương 6: Kiến trúc nhớ tiên tiến 259 6.5 Bảo vệ tiến trình cách dùng nhớ ảo Sự xuất đa chương trình (multiprogram) máy tính chạy nhiều chương trình song song với nhau, dẫn tới đòi hỏi việc bảo vệ phân chia chương trình Đa chương trình đưa đến khái niệm tiến trình (process): tiến trình gồm có chương trình thực tất thông tin cần thiết để tiếp tục thực chương trình Trong đa chương trình, xử lý nhớ nhiều người sử dụng chia sẻ cách qua lại (interactive), thời điểm, để tạo cảm giác người dùng có máy tính riêng Và thế, lúc nào, phải chuyển đổi từ tiến trình sang tiến trình khác Một tiến trình phải vận hành đắn, dù thi hành liên tục từ đầu tới cuối, hay bị ngắt qua lại tiến trình khác Trách nhiệm đảm bảo tiến trình chạy đúng, chia sẻ nhà thiết kế máy tính nhà thiết kế hệ điều hành Nhà thiết kế máy tính phải đảm bảo xử lý lưu giữ trạng thái tiến trình phục hồi trạng thái này, nhà thiết kế hệ điều hành phải đảm bảo tiến trình khơng ảnh hưởng lên Hệ điều hành giải vấn đề cách chia nhớ cho tiến trình trạng thái tiến trình diện phần nhớ chia cho Điều có nghĩa nhà thiết kế hệ điều hành phải giúp sức nhà chế tạo máy tính để bảo vệ tiến trình khơng bị ảnh hưởng tiến trình khác Nhà thiết kế máy tính có thêm trách nhiệm việc giúp nhà thiết kế hệ điều hành bảo vệ tiến trình là: Cung cấp hai chế độ vận hành cho biết tiến trình thực tiến trình người sử dụng hay tiến trình hệ thống (của người điều hành) Cung cấp tập hợp trạng thái xử lý mà tiến trình người sử dụng dùng khơng thể sửa đổi Cung cấp chế để chuyển đổi từ chế độ người dùng sang chế độ người điều hành ngược lại Chúng ta thấy, địa mà xử lý đưa phải biến đổi từ địa ảo sang địa vật lý Điều giúp phần cứng xa việc bảo vệ tiến trình Cách đơn giản làm việc cho phép tiến trình người sử dụng tác động lên bit cho phép thâm nhập vào trang hay đoạn Khi xử lý phát tín hiệu đọc (hay viết) tín hiệu người dùng (hay hệ thống) dễ dàng phát việc thâm nhập trái phép nhớ trước việc thâm nhập gây hư hại Các tiến trình bảo vệ có bảng trang riêng cho trỏ đến trang tách rời nhớ TÀI LIỆU THAM KHẢO [1] Hennesy J.L and Patterson D.A., Computer Architecture: A Quantitative Approach, 4th Edition, Morgan Kaufmann, 2006 [2] Stallings W., Computer Organization and Architecture: Designing for Performance, 8th Edition, Prentice Hall, 2009 [3] Hesham El-Rewini, Mostafa Abd-El-Barr, Advanced Computer Architecture and Parallel Processing, Wiley, 2005 [4] Dr Petru Eles, Very Long Instruction word processor [5] S Balakrishnan, Very Long Instruction word processor [6] Weng Fook Lee, VLIW Microprocessor Hardware Design [7] Introduction to VLIW Computer Architecture, Philips Semiconductors [8] http://whatis.techtarget.com/definition/0,sid9_gci214395,00.html [9] http://www.ida.liu.se/~TDDI68/ [10] SPARC Enterprise ARCHITECTURE M4000/M5000/M8000/M9000 Servers www.fujitsu.com/downloads/SPARCE/whitepapers/sparc-architecture-enver03.pdf [11] Sun SPARC Enterprise M4000/M5000 Servers Overview Guide – Alcatel University - http://docs.sun.com/app/docs/doc/819-2204-12 [12] http://www.intel.com/cd/channel/reseller/asmo-na/eng/products/47641.htm [13] http://compreviews.about.com/od/cpus/a/PentiumM_2.htm [14] http://en.wikipedia.org/wiki/Centrino [15] http://en.wikipedia.org/wiki/Intel_Core [16] http://www.intel.com/products/processor/coreduo/ [17] http://www.intel.com/products/processor/pentiumm/ [18] http://en.wikipedia.org/wiki/Pentium-M ...KIẾN TRÚC MÁY TÍNH TIÊN TIẾN HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TS TRẦN CÔNG HÙNG KIẾN TRÚC MÁY TÍNH TIÊN TIẾN NHÀ XUẤT BẢN THÔNG TIN VÀ TRUYỀN THÔNG LỜ I NÓ I ĐẦU Máy tính, cịn gọi máy. .. cho máy tính song song rõ ràng tương lai máy tính hồn tồn song song q khứ 16 Kiến trúc máy tính tiên tiến 1.2 Nhu cầu tính tốn phân loại máy tính Trong thập niên 60, hình thức tính tốn thực máy. .. Pentium Mobile hiệu cho máy tính cấp thấp Trong sách này, khái niệm kiến trúc bao gồm tất ba khía cạnh kiến trúc máy tính: kiến trúc tập lệnh, tổ chức phần cứng Những kiến trúc máy tính phải đáp ứng

Ngày đăng: 11/05/2021, 03:48

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan