Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm & Công nghệ

pdf 43 trang ngocly 4340
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm & Công nghệ", để 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:

  • pdfbai_giang_kien_truc_may_tinh_chuong_1_cac_khai_niem_cong_ngh.pdf

Nội dung text: Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm & Công nghệ

  1. Kiến trúc Máy tính Khoa học & Kỹ thuật Máy tính Chương 1 Các khái niệm & Công nghệ BK TP.HCM
  2. Cuộc cách mạng Máy tính  Tiến bộ trong Công nghệ: theo cấp số  Dựa trên định luật Moore  Biến các ứng dụng mơ ước trở thành hiện thực  Lĩnh vực xe hơi  Phone cầm tay  Các dự án về Gen  World Wide Web  Search Engines  Ngày nay, máy tính hiện hữu khắp nơi BK TP.HCM 25 -Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 2
  3. Lịch sử phát triển  Thế hệ thứ I: 1945 - 1955  Đèn chân không, Board mạch  Thế hệ thứ II: 1955 - 1965  transistors, hệ thống bó (IBM máy tính lớn)  Thế hệ thứ III: 1965 – 1980  Mạch tổ hợps & Đa lập trình (Mini, Main Frame)  Thế hệ thứ IV: 1980 – đến nay  personal computers  Siêu máy tính, Data Center, Tính toán lưới  Máy tính bảng với Điện toán đám mây BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 3
  4. Phân loại Máy tính hiện nay  Máy tính để bàn (Desktop Computers)  Đa năng, Đa dạng phần mềm  Cân đối theo giá thành/Hiệu suất  Máy tính Server (Server Computers)  Môi trường mạng  Dung lượng lớn, Hiệu suất cao, Độ tin cậy tốt  Đủ loại cấp độ (từ nhỏ đến lớn theo yêu cầu lắp đặt)  Máy tính nhúng (Embedded computers)  Tích hợp như là một bộ phận trong các hệ thống  Yêu cầu những ràng buộc chặt chẽ về Công suất/Hiệu suất/Giá thành BK TP.HCM 25 -Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 4
  5. Thị trường tiêu thụ Triệu cái BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 5
  6. Thực thi chương trình  Phần mềm ứng dụng  Ngôn ngữ cấp cao  Phần mềm hệ thống  Biên dịch: Ngôn ngữ cấp cao Mã máy  Hệ điều hành: thực thi dịch vụ  Xử lý Xuất/Nhập  Quản trị bộ nhớ chính & lưu trữ  Định thời công việc & tài nguyên chung  Phần cứng  Bộ Xử lý, Bộ nhớ, Điều khiền BK TP.HCM Nhập/Xuất 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 6
  7. Lộ trình thực hiện lệnh  Ngôn ngữ cấp cao  Cấp độ trìu tượng sát thực với vấn đề  Hiệu quả (productivity) & Uyển chuyển (portability)  Hợp ngữ (Assembly lang.)  Các lệnh mã máy trình bày dạng text gợi nhớ  Biểu diễn bằng phần cứng  Số nhị phân (bits)  Mã máy lệnh & Dữ liệu BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 7
  8. Thành phần chính của máy tính  Giống nhau cho các loại, bao gồm (5 thành phần):  Để bàn, server, nhúng  Nhập/Xuất bao gồm:  Giao tiếp với người dùng  Màn hình, bàn phím, chuột  Thiết bị lưu trữ  Đĩa cứng, CD/DVD, flash  Giao tiếp mạng  Liên lạc với các máy tính khác BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 8
  9. Mổ xẻ bên trong một máy tính Thiết bị Xuất Cáp nối Mạng Thiết bị Thiết bị Nhập Nhập BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 9
  10. Ví dụ: Laptop BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10
  11. Cơ chế hoạt động của chuột  Chuột quang  Bộ phận phát quang (LED)  Camera nhỏ thu hình  Bộ xử lý ảnh đơn giản  Thu nhận mỗi chuyển động theo trục x, y  Nút nhấn & đĩa lỗ phân dải  Chuột cơ (Supersedes roller-ball) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 11
  12. Thể hiện thông tin trên màn hình  Màn hình tinh thể lỏng(LCD): nhiều điểm (pixels)  Hiển thị 1 khung ảnh chứa trong bộ nhớ BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 12
  13. Cấu trúc bên trong Bộ xử lý (CPU)  Datapath: lộ trình thực hiện các tác vụ với dữ liệu  Điều khiển: lộ trình thực hiện, bộ nhớ, v.v  Bộ nhớ Cache  Một bộ phận bộ nhớ nhỏ nhưng có tốc độ truy xuất nhanh (SRAM), dùng lưu trữ trung gian các dữ liệu trước khi được truy xuất. BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 13
  14. AMD Barcelona: 4 lõi (cores) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 14
  15. Lưu trữ dữ liệu  Bộ nhớ chính (volatile)  Lưu trữ lệnh và dữ liệu. Thông tin sẽ mất khi tắt nguồn  Bộ nhớ thứ cấp (Non-volatile)  Đĩa cứng (từ)  Bộ nhớ flash  Optical disk (CDROM, DVD) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 15
  16. Mạng  Môi trường liên lạc và chia sẻ tài nguyên  Mạng cục bộ (LAN): Ethernet  Trong cùng văn phòng, tòa nhà, v.v.  Mạng diện rộng (WAN: the Internet)  Mạng không dây: WiFi, Bluetooth BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 16
  17. Xu hướng theo công nghệ  Công nghệ điện tử không ngừng phát triển:  Tăng dung lượng & Hiệu suất DRAM capacity  Giảm giá thành BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 17
  18. Các khái niệm trìu tượng  Abstractions  Giúp hạn chế độ phức tạp  Ẩn những vấn đề chi tiết cấp thấp  Kiến trúc tập lệnh (ISA = Instruction set architecture)  Phần giao giữa Cứng/Mềm  Giao tiếp ứng dụng  (ISA) + Phần mềm hệ thống  Thực hiện  Cụ thể lớp dưới và phần giao tiếp BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 18
  19. Định nghĩa về Hiệu suất  Hàng không: loại máy bay nào có hiệu suất tốt nhất? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 19
  20. Hiệu suất hệ thống  Giải thuật  Xác định số tác vụ thực thi (number of operations)  Ngôn ngữ lập trình, Trình biên dịch, Kiến trúc  Xác định số lệnh máy thực thi cho mỗi tác vụ (operation)  Bộ Xử lý và Hệ thống bộ nhớ  Xác định tốc độ xử lý mỗi lệnh máy  Hệ thống Nhập/Xuất (bao gồm Hệ điều hành)  Xác định tốc độ thực thi của mỗi tác vụ I/O BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 20
  21. Thời gian đáp ứng & hiệu suất đầu ra  Thời gian đáp ứng (Response time)  Ví dụ: thời gian thực hiện 1 công việc (c.trình)  Hiệu suất đầu ra (Throughput)  Có bao nhiêu tác vụ được thực hiện hoàn tất trong 1 đơn vị thời gianTotal work done per unit time  Ví dụ: tasks/transactions/ per hour  Các thông số trên sẽ bị ảnh hưởng như thế nào? Khi:  Thay bộ xử lý có tốc độ nhanh hơn?  Thêm bộ xử lý vào hệ thống  Tập trung vào Thời gian đáp ứng BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 21
  22. Hiệu suất: Đại lượng so sánh  ĐN: Hiệu suất = 1/Thời gian thực thi (Performance = 1/Execution Time)  “Máy X nhanh hơn máy Y n lần”, có nghĩa:  Ví dụ: thời gian thực thi 1 chương trình  Mất 10s trên máy A, 15s trên máy B  Execution TimeB / Execution TimeA = 15s / 10s = 1.5  Có nghĩa máy A nhanh hơn máy B 1.5 lần BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 22
  23. Đo thời gian thực thi  Thời gian tổng thể (Elapsed time)  Thời gian thực thi chương trình, bao gồm:Thời gian xử lý (CPU), Xuất/Nhập, phí tổn HĐH, thời gian chết  Thông số xác định hiệu xuất hệ thống  Thời gian Bộ xử lý (CPU time)  Thời gian của CPU xử lý chương trình  Không kể thời gian I/O, thời gian do chia sẻ  Bao gồm thời gian CPU dành cho chương trình người dùng + chương trình hệ thống  Các chương trình khác nhau sẽ bị ảnh hưởng khác nhau bởi hiệu suất CPU và hệ thống BK TP.HCM 23 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính
  24. Xung đồng hồ Bộ xử lý  Các tác vụ mạch số (phần cứng) được thực hiện dưới tác dụng của xung đồng hồ có tần số cố định.  Chu kỳ đồng hồ: Khoảng thời gian cho 1 chu kỳ, ví dụ: 250ps = 0.25ns = 250×10–12s  Tần số (rate): số chu kỳ/mỗi giây, Ví dụ: 4.0GHz = 4000MHz = 4.0×109Hz BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 24
  25. Thời gian Bộ Xử lý (CPU Time)  Hiệu suất sẽ được cải thiện bằng cách  Giảm số chu kỳ CPU  Tăng tần số đồng hồ  Người thiết kế phần cứng luôn phải hài hòa giữa tần số đồng hồ với số chu kỳ thực hiện BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 25
  26. Ví dụ: Thời gian Bộ xử lý  Máy tính A: 2GHz clock, thực thi mất 10s CPU time  Thiết kế máy tính B sao cho:  Thời gian thực thi chỉ mất 6s CPU time  Với đồng hồ nhanh hơn, nhưng mất 1.2 lần chu kỳ đồng hồ để thực thi  Vậy đồng hồ máy B phải là bao nhiêu? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 26
  27. Số lệnh (inst. Count) và CPI  Số lệnh của 1 chương trình được xác định bởi: Bản thân chương trình, ISA & Biên dịch  Số chu kỳ trung bình cho 1 lệnh:  Xác định bởi phần cứng CPU  Nếu lệnh có giá trị CPI khác nhau: CPI trung bình tổng thể BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 27
  28. Ví dụ: Chu kỳ/lệnh (CPI)  Máy A: T.gian/ck = 250ps, CPI = 2.0  Máy B: T.gian/ck = 500ps, CPI = 1.2  A & B có cùng kiến trúc tập lệnh  Máy nào nhanh hơn, hơn bao nhiêu? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 28
  29. Cách tính CPI tổng quan  Nếu các loại lệnh khác nhau thực hiện với số chu kỳ khác nhau trên mỗi lệnh  CPI trung bình trọng số BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 29
  30. Ví dụ: CPI trung bình  Sau khi biên dịch 1 chương trình với 3 loại lệnh A, B, C cho kết quả:  Kết quả biên dịch 1: IC = 5  Kết quả biên dịch 2: IC = 6  Clock Cycles  Clock Cycles = 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3 = 10 = 9  Avg. CPI = 10/5 = 2.0  Avg. CPI = 9/6 = 1.5 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 30
  31. Rút ra những gì về Hiệu suất  Công thức tổng quan  Phụ thuộc vào các yếu tố:  Giải thuật: IC, có thể cả CPI  Ngôn ngữ lập trình: IC, CPI  Biên dịch: IC, CPI  Kiến trúc tập lệnh: IC, CPI, Tc BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 31
  32. Năng lượng tiêu thụ  Trong công nghệ chế tạo CMOS IC BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 32
  33. Giảm năng lượng tiêu thụ  Giả sử 1 CPU mới so với 1 CPU cũ  85% tải  Giảm 15% nguồn (V) và 15% tần số  Ngưỡng về năng lượng tiêu thụ  Không thể tiếp tục giảm nguồn (v)  Không thể làm hạn chế nhiệt sinh ra càng tăng  Vậy cải thiện hiệu suất bằng cách nào? BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 33
  34. Hiệu suất đơn xử lý BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 34
  35. Nhiều bộ xử lý kết hợp  Bộ xử lý đa lõi  Nhiều bộ xử lý trên cùng 1 chip  Yêu cầu lập trình song song tường minh  Compare with instruction level parallelism  Nhiều lệnh phần cứng thực hiện đồng thời  Hidden from the programmer  Khó khăn  Làm sao lập trình với hiệu suất cao  Cân bằng tải  Tối ưu trao đổi dữ liệu và đống bộ BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 35
  36. SPEC CPU Benchmark  Tập các chương trình để đo hiệu suất  Có tải đặc thù sát với thực tế  Standard Performance Evaluation Corp (SPEC)  Phát triển các bộ đánh giá (benchmarks) cho CPU, I/O, Web,  SPEC CPU2006  Tổng thời gian thực thi 1 nhóm chương trình được chọn ra để đánh giá  Không tính t.gian I/O, chỉ tập trung vào CPU  Normalize relative to reference machine  Summarize as geometric mean of performance ratios  CINT2006 (integer) and CFP2006 (floating-point) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 36
  37. CINT2006 for Opteron X4 2356 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 37
  38. SPECpower_ssj2008 for X4 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 38
  39. MIPS đại lượng đo hiệu suất  MIPS = Millions of Instructions Per Second  Không dùng vào mục đích so sánh  Sự khác nhau về Kiến trúc tập lệnh của máy tính  Sự khác nhau vế độ phức tạp của lệnh  Các chương trình cùng thực hiện trên 1 CPU có thể có CPI khác nhau BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 39
  40. Quy trình chế tạo mạch  Độ lợi (Yield): số chip đạt yêu cầu/mỗi wafer BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 40
  41. AMD Opteron X2 Wafer  X2: 300mm wafer, 117 chips, 90nm technology  X4: 45nm technology BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 41
  42. Giá thành mạch tích hợp  Quan hệ phi tuyến với thiết diện Wafe & tỷ lệ lỗi  Giá thành Wafer & thiết diện cố định  Tỷ lệ lỗi phụ thuộc vào quy trình sản xuất  Thiết diện chip phụ thuộc vào kiến trúc & thiết kế mạch BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 42
  43. Kết luận  Giá thành/Hiệu suất ngày càng cải thiện  Công nghệ phát triển  Cấu trúc tổ chức phân tầng ý niệm  Cả phần cứng lẫn mềm  Kiến trúc tập lệnh  Phần giao Phần cứng/Mềm  Thời gian thực thi: cách tốt nhất đo hiệu suất  Năng lượng (Power): yếu tố cản trở nhất Song song hóa cải thiện hiệu suất BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 43