Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm & Công nghệ
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:
- bai_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ệ
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Ví dụ: Laptop BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10
- 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
- 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
- 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
- AMD Barcelona: 4 lõi (cores) BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 14
- 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
- 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
- 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
- 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
- Đị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
- 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
- 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
- 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
- Đ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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- CINT2006 for Opteron X4 2356 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 37
- SPECpower_ssj2008 for X4 BK TP.HCM 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 38
- 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
- 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
- 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
- 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
- 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