CHƯƠNG2 HỆ THỐNG MÁY TÍNH & CÁC LỚP TRỪU TƯỢNG NguyễnVănThọ Khoa Điện tử viễn thông Đại học Duy Tân – 2010 ĐẠI HỌC DUY TÂN KHOA ĐIỆN TỬ VIỄN THÔNG NguyenVanTho – Duy Tan University. 1-2 Computer System: HỆ THỐNG MÁY TÍNH CÁC LỚP TRỪU TƯỢNG Software Hardware Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms Ứng dụng Ngôn ngữ lập trình Kiến trúc tập lệnh (& giao diện nhập/ xuất) Vi kiến trúc Mạch điện tử Linh kiện Giải thuật NguyenVanTho – Duy Tan University. 1-3 CHUYỂN ĐỔI GIỮA CÁC LỚP TRỪU TƯỢNG Giải quyết một bài toán với máy tính như thế nào ? Một hệ thống các chuyển đổi giữa các mức trừu tượng Problem Problem Algorithm Algorithm Program Program Software Design: Lựa chọn giải thuật & cấu trúc dữ liệu Programming: Dùng ngôn ngữ lập trình để thiết kế Instr Set Architecture Instr Set Architecture Compiling/Interpreting: Chuyển đổi sang ngôn ngữ máyNguyenVanTho – Duy Tan University. 1-4 CÁC LỚP SÂU HƠN Instr Set Architecture Instr Set Architecture Micro architecture Micro architecture Circuits Circuits Processor Design: Chọn cấu trúc để thi hành kiến trúc tập lệnh Logic/Circuit Design: Cổng logic và các mạch điện cấp thấp để thực hiện các thành phần Devices Devices Process Engineering & Fabrication: Phát triển và sản xuất các thành phần ở mức thấp nhất Kiến trúc tập lệnh NguyenVanTho – Duy Tan University. 1-5 Algorithms - Giải thuật Giải thuật là các bước tiến hành công việc • Tính xác định : mỗi bước được trình bày 1 cách chính xác • Tính hữu hạn : mỗi bước phải bảo đảm đi đến kết thúc • Tính hiệu quả V ídụ : • Khởi động máy tính • Tính tổng từ 1 đến n Mọi vấn đề đều có thể có nhiều giải thuật khác nhau để giải quyết NguyenVanTho – Duy Tan University. 1-6 Programs – Chương trình Bước chuyển đổi giải thuật thành chương trình máy tính • Ngôn ngữ lập trình thì máy móc hơn ngôn ngữ tự nhiên • Ngôn ngữ lập trình thì không mơ hồ, nhiều nghĩa mà rõ ràng và chính xác hơn Hi ện nay, Có hơn 1000 ngôn ngữ lập trình NguyenVanTho – Duy Tan University. 1-7 CÁC CẤP CHƯƠNG TRÌNH (PROGRAM LEVEL) • Hầu hết các máy tính chạy một chương trình quản lý gọi là Hệ điều hành- operating system (OS). • Ch ương trình ứng dụng giao tiếp với kiến trúc máy tính thông qua hệ điều hành Application Program Operating System Program (Software) Bàigiảng PowerPoint Windows XP Data Application Program Operating System Ví dụ : NguyenVanTho – Duy Tan University. 1-8 NGÔN NGỮ BẬC CAO Độc lập với máy • Không phụ thuộc vào các đặc điểm riêng của cấu trúc máy • Có thể biên dịch để chạy mọi nơi Dễ viết , năng suất cao Thích hợp để mô tả • Cấu trúc dữ liệu ( mảng, stacks ) • Cấu trúc điều khiển ( lặp, chọn ) NguyenVanTho – Duy Tan University. 1-9 NGÔN NGỮ BẬC THẤP Mang tính đặc thù của máy tính • Người lập trình hiểu được tổ chức bên trong máy • Người lập trình có thể truy cập đến những vấn đề gai góc ¾ Các thanh ghi ¾ Các chỉ thị đặc thù của máy ¾ Các cách định địa chỉ bộ nhớ ¾Đặc điểm phần cứng N ăng suất thấp nhưng chương trình thi hành nhanh hơn, tốt hơn NguyenVanTho – Duy Tan University. 1-10 Instruction Set Architecture (ISA) Chuyển chương trình máy tính thành các chỉ thị đặc trưng của máy tính ISA định nghĩa đặc thù của CPU • Kiểu dữ liệu • Tính toán trên dữ liệu • operations on data • Địa chỉ hóa bộ nhớ • Các chế độ địa chỉ NguyenVanTho – Duy Tan University. 1-11 Microarchitecture – Vi kiến trúc Vi kiến trúc thi hành ISA • IA-32 ¾386 ¾486 ¾Pentium ¾Pentium-II, III, IV ¾Xeon • IA-64 ¾Pentium D (Netburst) ¾Dual Core (Core) ¾Core 2 Duo ¾Core 2 Quad Nhanh hơn, phúc tạp hơn NguyenVanTho – Duy Tan University. 1-12 Circuits - Mạch điện Bước tiếp theo để thi hành mỗi phần tử của vi kiến trúc với các mạch logic cơ bản • Cổng, Bộ cộng, Bộ ghép kênh • Flip flops, phần tử bộ nhớ NguyenVanTho – Duy Tan University. 1-13 Devices – Linh kiện Cuối cùng, mỗi mạch logic cơ bản được chế tạo với công nghệ riêng CMOS NMOS Gallium arsenide NguyenVanTho – Duy Tan University. 1-14 MÔ TẢ CÁC LỚP TRỪU TƯỢNG Problem Statement – Mô tả bài toán • Sử dụng ngôn ngữ tự nhiên để mô tả trạng thái • Có thể nhập nhằng, không rõ ràng Algorithm - Giải thuật • Các bước xử lý để bảo đảm hoàn thành. • Tính xác định, tính hiệu quả , tính hữu hạn Program – Chương trình • Mô tả giải thuật sử dụng ngôn ngữ máy. • Ngôn ngữ bậc cao, ngôn ngữ cấp thấp Instruction Set Architecture (ISA) • Chỉ định tập hợp các chỉ thị máy tính có thể thực hiện • Kiểu dữ liệu, kiểu đánh địa chỉ NguyenVanTho – Duy Tan University. 1-15 MÔ TẢ CÁC LỚP TRỪU TƯỢNG Microarchitecture – Vi kiến trúc • Mô tả tổ chức của processor implemantation • Sự khác biệt khi thi thành của các ISA riêng lẻ Logic Circuits – Các mạch logic • Tổ hợp các thành phần cơ bản để thi hành vi kiến trúc • Nhiều con đường khác nhau để thực hiện 1 chức năng Devices - Thiết bị • Tính chất phần cứng, tính sản xuất được NguyenVanTho – Duy Tan University. 1-16 Nhiều lựa chọn cho các lớp trên thế giới Giải quyết 1 hệ thống tính toán Gaussian elimination Jacobi iteration Red-black SOR Multigrid FORTRAN C C++ Java Intel x86Sun SPARC Compaq Alpha Pentium II Pentium III AMD Athlon Ripple-carry adder Carry-lookahead adder CMOS Bipolar GaAs Tradeoffs: cost performance power (etc.) NguyenVanTho – Duy Tan University. 1-17 Computer System: HỆ THỐNG MÁY TÍNH CÁC LỚP TRỪU TƯỢNG Software Hardware Application Program Language Instruction Set Architecture (and I/O Interfaces) Microarchitecture Circuits Devices Algorithms Ứng dụng Ngôn ngữ lập trình Kiến trúc tập lệnh (& giao diện nhập/ xuất) Vi kiến trúc Mạch điện tử Linh kiện Giải thuật