Trong lĩnh vực Công Nghệ Thông Tin nói riêng, yêu cầu quan trọng nhất của người học đó chính là thực hành. Có thực hành thì người học mới có thể tự mình lĩnh hội và hiểu biết sâu sắc với lý thuyết. Với ngành mạng máy tính, nhu cầu thực hành được đặt lên hàng đầu. Tuy nhiên, trong điều kiện còn thiếu thốn về trang bị như hiện nay, người học đặc biệt là sinh viên ít có điều kiện thực hành. Đặc biệt là với các thiết bị đắt tiền như Router, Switch chuyên dụng
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 dƣới 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: Máy tính tơ Điện thoại Dự án di truyền học người World Wide Web 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 tính để bàn (Desktop computers) Máy chủ (Servers) 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 sách chủ yếu trình bày máy tính đa dụng (generalpurpose 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 Chu kỳ xung đồng hồ (Clock cycle): Cũng gọi tick, clock tick, clock period, clock, cycle Thời gian hoàn thành chu kỳ clock, thường clock xử lý chạy tốc độ cố định Clock period (clock cycle time): thời gian chu kỳ clock Ta có: Hoặc (clock rate clock period nghịch đảo nhau): 35 Hiệu suất CE CPI (clock cycle per instruction): Số lượng chu kỳ clock cần để thực thi lệnh chương trì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 Ví dụ 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 Ví dụ 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) chọn lựa hai chuỗi thực thi code (code sequence) cho máy tính Nhà thiết kế phần cứng máy tính cung cấp thơng tin sau: Đối với ngơn ngữ lập trình cấp cao cụ thể, hai chuỗi code có số lượng lệnh tương ứng sau: 42 Chuỗi code tốn nhiều lệnh hơn? Chuỗi code thực thi nhanh hơn? CPI chuỗi? 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ố 44 Đơn vị đo Thời gian CPU thực thi chương trình (CPU execution time) Giây (Seconds) 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) 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 45 Tác động vào gì? Như nào? Thuật tốn Số lượng lệnh, CPI 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 tố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 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ý