Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm và công nghệ - Nguyễn Thanh Sơn
Tóm tắt Bài giảng Kiến trúc máy tính - Chương 1: Các khái niệm và công nghệ - Nguyễn Thanh Sơn: ...Kỹ thuật Máy tính 13 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 25-Aug-16 14 AMD Barcelona: 4 lõi (cores) BK TP.HCM 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ớ...hanh hơn máy Y n lần”, có nghĩa: Hiệu suất: Đại lượng so sánh 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 Đo thời gian thực thi Thời gian...-16 Khoa Khoa học & Kỹ thuật Máy tính 29 CPI trung bình trọng số BK TP.HCM 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ả: 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 30 Kết quả biên dịch 1: IC = 5 Clock Cycles = 2×1 + 1×2 + 2×3...
BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 2 BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 3 BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 4 BK TP.HCM Thị trường tiêu thụ 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 5 Triệu cái BK TP.HCM Thực thi chương trình 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 6 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 Nhập/Xuất BK TP.HCM Lộ trình thực hiện lệnh 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 7 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 Thành phần chính của máy tính 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 8 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 Mổ xẻ bên trong một máy tính 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 9 Thiết bị Xuất Thiết bị Nhập Thiết bị Nhập Cáp nối Mạng BK TP.HCM Ví dụ: Laptop 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 10 BK TP.HCM Cơ chế hoạt động của chuột 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 11 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 Thể hiện thông tin trên màn hình 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 12 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 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. 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 13 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 25-Aug-16 14 AMD Barcelona: 4 lõi (cores) BK TP.HCM 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) 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 15 BK TP.HCM Mạng 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 16 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 Xu hướng theo công nghệ 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 17 DRAM capacity Công nghệ điện tử không ngừng phát triển: Tăng dung lượng & Hiệu suất Giảm giá thành BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 18 BK TP.HCM Định nghĩa về Hiệu suất 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 19 Hàng không: loại máy bay nào có hiệu suất tốt nhất? BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 20 BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 21 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 25-Aug-16 22 Đ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: Hiệu suất: Đại lượng so sánh 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 Đ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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 23 BK TP.HCM 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. 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 24 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 Khoa Khoa học & Kỹ thuật Máy tính 25-Aug-16 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 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? 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 26 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 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ể 25-Aug-16 27 Số lệnh (inst. Count) và CPI BK TP.HCM 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? 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 28 BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 29 CPI trung bình trọng số BK TP.HCM 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ả: 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 30 Kết quả biên dịch 1: IC = 5 Clock Cycles = 2×1 + 1×2 + 2×3 = 10 Avg. CPI = 10/5 = 2.0 Kết quả biên dịch 2: IC = 6 Clock Cycles = 4×1 + 1×2 + 1×3 = 9 Avg. CPI = 9/6 = 1.5 BK TP.HCM Rút ra những gì về Hiệu suất 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 31 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 Năng lượng tiêu thụ 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 32 Trong công nghệ chế tạo CMOS IC BK TP.HCM 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ố 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 33 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 Hiệu suất đơn xử lý 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 34 BK TP.HCM 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ộ 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 35 BK TP.HCM 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) 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 36 BK TP.HCM CINT2006 for Opteron X4 2356 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 37 BK TP.HCM SPECpower_ssj2008 for X4 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 38 BK TP.HCM 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 39 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 Quy trình chế tạo mạch 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 40 Độ lợi (Yield): số chip đạt yêu cầu/mỗi wafer BK TP.HCM AMD Opteron X2 Wafer 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 41 X2: 300mm wafer, 117 chips, 90nm technology X4: 45nm technology BK TP.HCM Giá thành mạch tích hợp 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 42 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 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 25-Aug-16 Khoa Khoa học & Kỹ thuật Máy tính 43
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_1_cac_khai_niem_va_cong.pdf