Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 260 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
260
Dung lượng
8,42 MB
Nội dung
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, 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 chun mơn Trong q 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 q 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 Ngun 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 MÁ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 qn .199 4.7 Các vấn đề xun 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 qn 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 tồ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 hồn tồ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 hồn tồ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 hồn tồ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ệ ngun 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 khơng thể 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ó 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à ngun 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 ngun nhân cho ta ý niệm ngun 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 ngun 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 qt, 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 ngồi (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ó 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 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 ngồ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 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ó 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ớ ngồi (đĩa từ) Trước đây, độ dài chương trình vượt q 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 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ố ngun 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 hồ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 ln 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 [...]... hơn cho các máy tính cấp thấp Trong quyển sách này, khái niệm kiến trúc bao gồm tất cả ba khía cạnh của kiến trúc máy tính: kiến trúc tập lệnh, tổ chức và phần cứng Những kiến trúc máy tính phải đáp ứng những yêu cầu chức năng cũng như giá cả, sức mạnh, hiệu suất và các mục tiêu sẵn có Bảng 1.5 tóm tắt những yêu cầu cần xem xét trong việc thiết kế một máy tính mới Thông thường, những kiến trúc sư cũng... 20 Kiến trúc máy tính tiên tiến Quyển sách này áp dụng cho các thiết kế hiệu suất của bộ xử lý nhúng, bất kể là các vi xử lý được đóng gói hay là các lõi của vi xử lý, mà sẽ được lắp ráp với các phần cứng chuyên dụng khác 1.2.4 Định nghĩa kiến trúc máy tính Nhiệm vụ thiết kế máy tính phải đối mặt với một phức tạp là: Xác định những thuộc tính quan trọng cho một máy tính mới, sau đó thiết kế một máy tính. .. các yêu cầu đó sẽ làm cho máy tính cạnh tranh trong thị trường đó 26 Kiến trúc máy tính tiên tiến Chức năng yêu cầu Đặc điểm nổi bật không thể thiếu hoặc hỗ trợ + Phạm vi sử dụng + Trong phạm vi máy tính - Mục đích chung máy tính để bàn - Ổn định hiệu suất cho một loạt các nhiệm vụ, bao gồm cả hoạt động tương tác cho đồ họa, video và âm thanh - Kiến thức về máy tính để bàn và máy chủ - Hiệu suất cao... cách thức mà máy tính xuất hiện và cách thức mà người ta sử dụng nó Những thay đổi trong việc sử dụng máy tính đã dẫn đến hình thành 3 thị trường máy tính khác nhau, mỗi đặc trưng tương ứng với những ứng dụng, yêu cầu và những công nghệ khác nhau Bảng 1.1 tóm tắt các loại máy tính chủ đạo trong thị trường máy tính và những đặc điểm quan trọng của mỗi loại 1.2.1 Máy tính để bàn Những chiếc máy tính để bàn... mô phỏng các công cụ liên quan của nó Đây là phong cách và phương pháp tiếp cận để thiết kế mạch trong quyển sách này Chúng ta tin rằng phương pháp tiếp cận này sẽ cho ra những máy tính song song rõ ràng trong tương lai như những máy tính hoàn toàn song song trong quá khứ 16 Kiến trúc máy tính tiên tiến 1.2 Nhu cầu tính toán hiện tại và phân loại máy tính Trong thập niên 60, hình thức tính toán được... cho hầu hết các máy chủ Một vấn đề liên quan là những siêu máy tính Chúng là những chiếc máy tính đắt nhất, trị giá hàng chục triệu đô la và được nhấn mạnh ở hiệu suất Chương 1: Giới thiệu chung 19 1.2.3 Máy tính nhúng (Embedded computer) Máy tính nhúng là phần phát triển nhanh nhất của thị trường máy tính Các thiết bị này là bao gồm các máy móc hằng ngày, từ các lò vi sóng, máy giặt, máy in, những... trên một máy tính tương tác thông qua các thiết bị đầu cuối độc lập Thập kỷ này cũng chứng kiến sự xuất hiện của các siêu máy tính, với hiệu suất xử lý cao phục vụ cho tính toán khoa học Mặc dù ít về số lượng, nhưng đây là sự kiện có tính chất lịch sử quan trọng, bởi họ đã đi tiên phong trong đổi mới mà sau này hình thành các lớp máy tính ít tốn kém hơn Thập niên 80 chứng kiến sự trỗi dậy của máy tính. .. đó sử dụng theo nhiều cách thức tinh vi hơn và được tối ưu hóa) Các máy tính nền tảng RISC nâng thanh chắn thực hiện, buộc 14 Kiến trúc máy tính tiên tiến những kiến trúc trước phải theo kịp hoặc biến mất Thiết bị số Vax đã không thể đứng vững, tất yếu nó được thay thế bởi một kiến trúc RISC Intel đã nổi lên như một thách thức, trước tiên là việc chuyển đổi các lệnh x86 (hay IA-32) sang các lệnh như... tính năng sẽ được đào sâu ở các chương sau Kiến trúc sư cũng phải thích ứng nhanh với các xu hướng quan trọng trong công nghệ và việc sử dụng máy tính, như vậy xu hướng này không chỉ ảnh hưởng đến chi phí trong tương lai, mà còn quyết định sự tồn tại lâu dài của một cấu trúc Nếu một thân của phần mềm tồn tại đối với một kiến trúc tập lệnh chắc chắn, các kiến trúc sư có thể quyết định rằng một máy tính. .. từ những tiến bộ trong công nghệ sử dụng để xây dựng máy tính và trong sự đổi mới thiết kế máy tính Mặc dù những cải tiến công nghệ đã khá ổn định, nhưng cấu trúc arising từ những kiến trúc tốt hơn lại ít tương thích hơn Suốt 25 năm đầu phát triển của máy tính điện tử, cả 2 lực lượng này đã có đóng góp quan trọng, cải thiện hiệu suất khoảng 25% một năm Và cuối năm 1970 chứng kiến sự xuất hiện của bộ ...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, gọi máy vi tính. .. 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