Kiến trúc máy tính. Máy tính và các khái niệm công nghệ. Tài liệu môn kiến trúc máy tính trường ĐHCNTT. _______________________________________________________ _______________________________________________________
CE KIẾN TRÚC MÁY TÍNH CHƯƠNG MÁY TÍNH – CÁC KHÁI NIỆM VÀ CƠNG NGHỆ CE MÁY TÍNH – CÁC KHÁI NIỆM CÔNG NGHỆ Giới thiệu Bên chương trình ứng dụng Bên máy tính Hiệu suất (Performance) CE MÁY TÍNH – CÁC KHÁI NIỆM CÔNG NGHỆ Giới thiệu Bên chương trình ứng dụng Bên máy tính Hiệu suất (Performance) Giới thiệu CE Máy tính – cách mạng thứ ba văn minh (cùng với cách mạng nông nghiệp công nghiệp) Xu hướng nghiên cứu khoa học mới: • Các nhà khoa học tính tốn, lý thuyết thực nghiệm hợp tác việc khám phá thành tựu thiên văn học, sinh học, hóa học, vật lý, v.v… Những ứng dụng xem “khoa học viễn tưởng” trước đây: Điện thoại Dự án di truyền học người World Wide Web Máy tính tơ Cơng cụ tìm kiếm Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy chủ (Servers) Máy tính để bàn (Desktop computers) Máy tính nhúng (Embedded computers) Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn - Sử dụng cá nhân, thường tích hợp hình hiển thị (graphic display), chuột (mouse) bàn phím (keyboard) - Hiệu tốt người dùng đơn lẻ, mức chi phí thấp, thường dùng để thực thi phần mềm hãng thứ ba, hay cịn goi shrink-wrap software - Là máy tính phổ biến nhất, biết đến với tên gọi máy tính cá nhân (personal computer) Máy chủ Máy tính nhúng Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn Máy chủ - Dùng để chạy chương trình lớn có nhiều người dùng đồng thời thường truy cập qua hình thức mạng - Máy chủ chạy ứng dụng đơn có tính phức tạp cao (như ứng dụng kĩ thuật khoa hoc), điều khiển nhiều công việc nhỏ (như xây dựng máy chủ Web lớn) - Những ứng dụng thường dựa phần mềm phát triển từ nguồn khác (như hệ thống sở liệu mô phỏng), thường hiệu chỉnh để phù hợp với chức cụ thể - Máy chủ xây dựng theo công nghệ máy tính để bàn, cung cấp khả mở rộng lớn mặt tính tốn số lượng ngõ nhập xuất (hiệu máy chủ đo nhiều cách, tùy thuộc vào ứng dụng dùng) Máy tính nhúng Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn Máy chủ Có nhiều loại khác chi phí cơng suất: • Low-end servers: sử dụng ứng dụng lưu trữ, ứng dụng cho doanh nghiệp nhỏ, dịch vụ web, khơng kèm hình bàn phím, chi phí khoảng 1000$ • Supercomputers: thường dùng cho cơng việc tính tốn kĩ thuật khoa học phức tạp cao cấp, ví dụ dự báo thời tiết, khai phá dầu mỏ, tìm cấu trúc protein v.v… với hiệu cao bao gồm hàng trăm đến hàng ngàn xử lý, với nhớ kích cỡ gigabytes đến terabytes khả lưu trữ liệu terabytes đến petabytes, chi phí hàng triệu đến hàng trăm triệu đơla • Datacenter: khơng gọi với tên supercomputers, Internet datacenters sử dụng công ty eBay, Google chứa hàng ngàn xử lý, với nhớ hàng terabytes, khả lưu trữ hàng petabytes Datacenter thường xem cụm máy tính lớn Máy tính nhúng Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn Máy chủ Máy tính nhúng • Là máy tính bên thiết bị đó, dùng để chạy ứng dụng hay tập hợp phần mềm cho trước; lớp máy tính phổ biến trải rộng mặt ứng dụng hiệu • Máy tính nhúng: bao gồm vi xử lý tìm thấy máy giặt, xe hơi, điện thoạt, ti vi kĩ thuật số,… • Hệ thống tính tốn nhúng: thiết kế để chạy ứng dụng tập ứng dụng có liên quan, thường tích hợp với phần cứng phân phối hệ thống nhất; theo đó, máy tính nhúng phổ biến, đa số người dùng không thật nhận họ dùng máy tính • u cầu quan trọng ứng dụng nhúng đạt hiệu hoạt động cần thiết tổi thiểu với chi phí lượng tiêu thụ thấp • Trong nhiều năm vừa qua, tốc độ phát triển máy tính nhúng nhanh nhiều so với máy tính để bàn máy chủ Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn Máy chủ Máy tính nhúng Nội dung mơn học sách tham khảo chủ yếu trình bày máy tính đa dụng (general-purpose computer), nhiên đa số khái niệm áp dụng trực tiếp (hoặc với số hiệu chỉnh nhỏ) cho máy tính nhúng 10 CE Bên máy tính Cơng nghệ xây dựng Bộ xử lý Bộ nhớ Transistor: Công tắc đóng/mở điều khiển điện Very large scale integrated circuit (VLSI): Mạch tích hợp chứa hàng trăm ngàn đến hàng triệu transistor Moore’s law: số lượng transistor mạch tích hợp tăng gấp đơi khoảng thời gian 18–24 tháng (Gordon Moore, nhà sáng lập Intel vào năm1960s.) 31 CE Bên máy tính Cơng nghệ xây dựng Bộ xử lý Bộ nhớ Hình Định luật Moore Nguồn: http://en.wikipedia.org/wiki/Moore’s_law 32 CE MÁY TÍNH – CÁC KHÁI NIỆM CÔNG NGHỆ Introduction Below your program Under the Covers Hiệu suất (Performance) 33 CE Hiệu suất Thời gian đáp ứng (Response time): Cũng gọi thời gian thực thi (execution time), tổng thời gian để máy tính hồn thành tác vụ, bao gồm thao tác truy cập ổ đĩa, truy cập nhớ, hoạt động I/O, thời gian thực thi hệ điều hành (operating system overhead), v.v Thông (Throughput): Cũng gọi bandwidth, số lượng tác vụ hoàn thành đơn vị thời gian: 34 CE Hiệu suất Hầu hết tất máy tính cần “đồng hồ” để xác định kiện/thao tác thực phần cứng Khối tạo khoảng thời gian định thời cho máy tính làm việc gọi khối tạo xung đồng hồ hay khối tao xung clock Hai khái niệm liên quan đến xung đồng hồ: chu kỳ xung đồng hồ tần số xung đồng hồ Chu kỳ xung đồng hồ (Clock cycle hay Clock cycle time): Tần số xung đồng hồ (Clock rate) Clock rate Clock cycle time nghịch đảo 35 Hiệu suất CE CPI (clock cycle per instruction): Số chu kỳ xung clock cần để thực thi lệnh Hoặc: 36 CE Hiệu suất MIPS (Million instructions per second): Một cách đo tốc độ thực thi chương trình, dựa số lượng triệu lệnh giây MIPS tính số lượng lệnh chia cho tích thời gian thực thi giá trị 106 37 Hiệu suất CE Ví dụ Một chương trình máy tính chạy 10 giây máy tính A có tần số xung clock 2GHz Một nhà thiết kế xây dựng máy tính B chạy chương trình giây Nhà thiết kế định tăng tần số xung clock, việc tăng giá trị ảnh hưởng đến phần thiết kế khác CPU, khiến máy tính B yêu cầu nhiều chu kỳ clock máy tính A 1.2 lần để chạy chương trình Hỏi tần số xung clock nhà thiết kế dùng bao nhiêu? 38 CE 39 Hiệu suất CE Hiệu suất Ví dụ Giả sử có hai cách thực cho kiến trúc tập lệnh Máy tính A có chu kỳ clock 250ps CPI 2.0 chạy chương trình, máy tính B có chu kỳ clock 500ps CPI 1.2 chạy chương trình Máy tính chạy chương trình nhanh nhanh bao nhiêu? 40 CE 41 Hiệu suất CE Hiệu suất Ví dụ So sánh hiệu suất thực thi đoạn mã chương trình: Một người viết trình biên dịch (compiler) có hai đoạn/chuỗi code cần so sánh hai đoạn với thông tin sau: Tập lệnh máy tính chia làm ba nhóm lệnh CPI nhóm nhà thiết kế phần cứng máy tính cung cấp: Và hai đoạn code cần so sánh có số lượng lệnh tương ứng với nhóm sau: Hỏi đoạn code tốn nhiều lệnh hơn? Đoạn code thực thi nhanh hơn? CPI đoạn? 42 CE Ví dụ 43 Hiệu suất Hiệu suất CE Tóm lại, yếu tố để định hiệu suất máy tính gồm: Yếu tố Đơn vị đo Thời gian CPU thực thi chương trình (CPU execution time) Số lượng lệnh (Instruction count) Số lượng lệnh thực thi cho chương trình CPI (Clock cycles per instruction) Số lượng chu kỳ clock để thực thi lệnh Thời gian chu kỳ clock (Clock cycle time) 44 Giây (Seconds) Giây Hiệu suất CE Hiệu suất chương trình phụ thuộc vào thuật tốn, ngơn ngữ, trình biên dịch, kiến trúc phần cứng máy tính Bảng bên tóm tắt ảnh hưởng yếu tố lên hiệu suất CPU Yếu tố phần cứng/phần mềm Tác động vào gì? Như nào? Thuật tốn Thuật tốn định có lệnh chương trình nguồn theo số lượng lệnh mà CPU phải thực thi Thuật toán ảnh hưởng đến CPI khía cạnh lệnh chạy nhanh hay chậm, ví dụ, thuật tốn có nhiều phép tính số floating-point, khả có CPI cao Ngơn ngữ lập trình Số lượng lệnh, CPI Ngơn ngữ lập trình chắn ảnh hưởng đến số lượng lệnh, chương trình viết ngơn ngữ lập trình chuyển thành lệnh cho xử lý Ngồi ra, CPI bị ảnh hưởng, ví dụ, ngơn ngữ có tính hỗ trợ mạnh trừu tượng hóa liệu (như Java) có nhiều lời gọi lệnh khơng trực tiếp, sử dụng nhiều lệnh có CPI cao Trình biên dịch Số lượng lệnh, CPI Vì trình biên dịch thực việc chuyển lệnh từ ngôn ngữ cấp cao sang ngôn ngữ máy nên chắn tác động đến số lượng lệnh CPI Vai trò trình biên dịch phức tạp ảnh hưởng đến CPI theo cách phức tạp Kiến trúc tập lệnh 45 Số lượng lệnh, CPI Số lượng lệnh, tần số xung clock, CPI Kiến trúc tập lệnh tác động đến yếu tố hiệu CPU, định lệnh cần để thực chức năng, số lượng chu kỳ cho lệnh, tần số clock tổng quan xử lý ...CE MÁY TÍNH – CÁC KHÁI NIỆM CƠNG NGHỆ Giới thiệu Bên chương trình ứng dụng Bên máy tính Hiệu suất (Performance) CE MÁY TÍNH – CÁC KHÁI NIỆM CƠNG NGHỆ Giới thiệu Bên chương trình ứng dụng Bên máy. .. bày máy tính đa dụng (general-purpose computer), nhiên đa số khái niệm áp dụng trực tiếp (hoặc với số hiệu chỉnh nhỏ) cho máy tính nhúng 10 CE MÁY TÍNH – CÁC KHÁI NIỆM CÔNG NGHỆ Giới thiệu Bên chương. .. qua, tốc độ phát triển máy tính nhúng nhanh nhiều so với máy tính để bàn máy chủ Giới thiệu CE Máy tính sử dụng lớp ứng dụng chính: Máy tính để bàn Máy chủ Máy tính nhúng Nội dung mơn