Tin học đại cương - Phần 1: Tin học căn bản - Chương 03: Hệ thống máy tính

Tổ chức bên trong máy tính

 3.1.1. Mô hình cơ bản của máy tính

 3.1.2. Bộ xử lý trung tâm – CPU

 3.1.3. Bộ nhớ

 3.1.4. Hệ thống vào-ra

 3.1.5. Liên kết hệ thống (buses)

3.2. Phần mềm máy tính

 3.2.1. Dữ liệu và giải thuật

 3.2.2. Chương trình và ngôn ngữ lập trình

 3.2.3. Phần mềm máy tính

pdf42 trang | Chia sẻ: Mr Hưng | Lượt xem: 928 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Tin học đại cương - Phần 1: Tin học căn bản - Chương 03: Hệ thống máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11 TIN HỌC ĐẠI CƯƠNG PHẦN 1: TIN HỌC CĂN BẢN Chương 03: Hệ thống máy tính 2 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 23 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 4 3.1.1. Mô hình cơ bản của máy tính a. Chức năng của hệ thống máy tính b. Cấu trúc của hệ thống máy tính c. Hoạt động của máy tính 35 a. Chức năng của hệ thống máy tính Xử lý dữ liệu Lưu trữ dữ liệu Trao đổi dữ liệu Điều khiển 6 a. Chức năng của hệ thống máy tính Xử lý dữ liệu:  Chức năng quan trọng nhất của máy tính  Dữ liệu có thể có rất nhiều dạng khác nhau và có yêu cầu xử lý khác nhau. Lưu trữ dữ liệu:  Dữ liệu đưa vào máy tính được xử lý ngay hoặc có thể được lưu trong bộ nhớ.  Khi cần chúng sẽ được lấy ra xử lý. 47 a. Chức năng của hệ thống máy tính (tiếp) Trao đổi dữ liệu:  Trao đổi dữ liệu giữa các thành phần bên trong và bên ngoài thông qua thiết bị ngoại vi  Quá trình vào ra (input-output)  Các thiết bị vào-ra được coi là nguồn cung cấp dữ liệu hoặc nơi tiếp nhận dữ liệu.  Khi dữ liệu được vận chuyển trên khoảng cách xa với các thiết bị hoặc máy tính gọi là truyền dữ liệu (data communication). Điều khiển:  Máy tính cần phải điều khiển ba chức năng trên. 8 b. Cấu trúc của hệ thống máy tính 59 Các thành phần cơ bản của máy tính Bộ xử lý trung tâm – CPU (Central Processor Unit)  Điều khiển các hoạt động của máy tính và thực hiện xử lý dữ liệu. Bộ nhớ chính (Main Memory)  Lưu trữ chương trình và dữ liệu. Hệ thống vào ra (Input-Output System):  Trao đổi thông tin giữa thế giới bên ngoài với máy tính. Liên kết hệ thống (System Interconnection):  Kết nối và vận chuyển thông tin giữa CPU, bộ nhớ chính và hệ thống vào ra của máy tính với nhau. 10 c. Hoạt động của máy tính Hoạt động cơ bản của máy tính là thực hiện chương trình. Chương trình gồm một tập các lệnh được lưu trữ trong bộ nhớ 611 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 12 a. Chức năng và hoạt động Chức năng  Điều khiển hoạt động của toàn bộ hệ thống máy tính  Xử lý dữ liệu Nguyên tắc hoạt động cơ bản: CPU hoạt động theo chương trình nằm trong bộ nhớ chính, bằng cách:  Nhận lần lượt lệnh từ bộ nhớ chính  Sau đó tiến hành giải mã lệnh và phát các tín hiệu điều khiển thực thi lệnh  Trong quá trình thực thi lệnh, CPU có thể trao đổi dữ liệu với bộ nhớ chính hay hệ thống vào-ra. 713 b. Cấu trúc cơ bản của CPU 14 Các thành phần cơ bản của CPU Khối điều khiển (Control Unit – CU)  Điều khiển hoạt động của máy tính theo chương trình đã định sẵn Khối tính toán số học và logic (Arithmetic – Logic Unit - ALU):  Thực hiện các phép toán số học và các phép toán logic trên các dữ liệu cụ thể Tập các thanh ghi (Register File - RF)  Lưu trữ các thông tin tạm thời phục vụ cho hoạt động của CPU Bus bên trong (Internal Bus)  Kết nối các thành phần bên trong CPU với nhau Đơn vị ghép nối bus (Bus Interface Unit – BIU)  Kết nối và trao đổi thông tin với nhau giữa các bus bên trong với các bus bên ngoài. 815 Bộ vi xử lý (Microprocessor) Bộ vi xử lý  CPU được chế tạo trên một vi mạch và được gọi là bộ vi xử lý.  Có thể gọi CPU là bộ vi xử lý  Tuy nhiên, các bộ vi xử lý hiện nay có cấu trúc phức tạp hơn nhiều so với một CPU cơ bản. Tốc độ của bộ vi xử lý  Số lệnh được thực hiện trong 1s  MIPS (Milliions of Intructions per Second)  Khó đánh giá chính xác Tần số xung nhịp của bộ xử lý  Bộ xử lý hoạt động theo một xung nhịp (clock) có tần số xác định  Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số xung nhịp 16 Tốc độ bộ vi xử lý (tiếp) 917 Intel 4004 - Bộ vi xử lý 4 bit 18 INTEL 8008 Intel 8008 - Bộ vi xử lý 8 bit 10 19 INTEL 8080 Intel 8080 - Bộ vi xử lý 8 bit 20 Intel 80286 - Bộ vi xử lý 16 bit 11 21 Intel 80386 - Bộ vi xử lý 16 bit 22 Intel 80486 - Bộ vi xử lý 32 bit 12 23 Pentium – 32 bit 24 More Pentium Pro III IV 13 25 Itanium 64-bit Intel Microprocessors Itanium - Bộ vi xử lý 64 bit 26 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 14 27 3.1.3. Bộ nhớ máy tính Chức năng: Lưu trữ chương trình và dữ liệu Các thao tác cơ bản với bộ nhớ:  Thao tác đọc (read)  Thao tác ghi (write) Các thành phần chính  Bộ nhớ trong (Internal Memory)  Bộ nhớ ngoài (External Memory) 28 Các thành phần bộ nhớ máy tính 15 29 a. Bộ nhớ trong Chức năng và đặc điểm  Chức các thông tin mà CPU có thể trao đổi trực tiếp  Tốc độ rất nhanh  Dung lượng không lớn  Sử dụng bộ nhớ bán dẫn: ROM và RAM Các loại bộ nhớ trong:  Bộ nhớ chính  Bộ nhớ cache (bộ nhớ đệm nhanh) 30 Bộ nhớ chính Là thành phần nhớ tồn tại trên mọi hệ thống máy tính Chứa các chương trình và dữ liệu đang được CPU sử dụng Tổ chức thành các ngăn nhớ được đánh địa chỉ Ngăn nhớ thường được tổ chức theo Byte Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn nhớ luôn cố định Thông thường, bộ nhớ chính gồm 2 phần:  ROM  RAM 16 31 Bộ nhớ đệm nhanh (Cache memory) Là thành phần nhớ tốc độ nhanh nhưng được đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc độ truy cập bộ nhớ của CPU Tốc độ cache nhanh hơn bộ nhớ chính nhưng dung lượng nhỏ hơn Cache thường được chia ra thành một số mức: cache L1, cache L2, Hiện nay cache được tích hợp trên các chip vi xử lý Cache có thể có hoặc không 32 b. Bộ nhớ ngoài Chức năng và đặc điểm  Lưu giữ tài nguyên phần mềm của máy tính, bao gồm: Hệ điều hành, các chương trình và dữ liệu  Bộ nhớ ngoài được kết nối với hệ thống dưới dạng các thiết bị vào ra  Dung lượng lớn  Tốc độ chậm 17 33 b. Bộ nhớ ngoài (tiếp) Các loại bộ nhớ ngoài:  Bộ nhớ từ: Đĩa cứng, đĩa mềm  Bộ nhớ quang: Đĩa CD, DVD,  Bộ nhớ bán dẫn: Flash disk, memory card 34 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 18 35 3.1.4. Hệ thống vào-ra Chức năng: Trao đổi thông tin giữa máy tính với thế giới bên ngoài. Các thao tác cơ bản  Vào dữ liệu (Input)  Ra dữ liệu (Output) Các thành phần chính:  Các thiết bị vào-ra (IO devices) hay còn gọi là thiết bị ngoại vi (Peripheral devices)  Các mô-đun ghép nối vào-ra (IO Interface modules) 36 Cấu trúc cơ bản của hệ thống vào-ra 19 37 Các thiết bị vào ra Chức năng: Chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính Các thiết bị ngoại vi cơ bản:  Thiết bị vào: Bàn phím, chuột, máy quét,  Thiết bị ra: Màn hình, máy in,  Thiết bị nhớ: Các ổ đĩa,  Thiết bị truyền thông: Modem, 38 Mô-đun ghép nối vào ra Các thiết bị vào ra không kết nối trực tiếp với CPU mà được kết nối thông qua các mô-đun ghép nối vào-ra. Trong các mô đun ghép nối vào-ra có các cổng vào-ra (IO Port) Các cổng này cũng được đánh địa chỉ bởi CPU, có nghĩa là mỗi cổng cũng có một địa chỉ xác định. Mỗi thiết bị vào-ra kết nối với CPU thông qua cổng tương ứng với địa chỉ xác định. 20 39 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phân loại phần mềm máy tính 40 Liên kết hệ thống (buses) CPU, bộ nhớ chính và hệ thống vào-ra cần phải kết nối với nhau để trao đổi thông tin Việc kết nối này được thực hiện bằng một tập các đường kết nối gọi là bus Thực tế bus trong máy tính khá phức tạp, nó được thể hiện bằng các đường dẫn trên các bản mạch, các khe cắm trên bản mạch chính, các cáp nối, 21 41 Liên kết hệ thống (tiếp) Độ rộng của bus: Là số đường dây của bus có thể truyền thông tin đồng thời. Về chức năng, bus được chia làm 3 loại chính: Bus địa chỉ, bus dữ liệu và bus điều khiển 42 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 22 43 3.2. Phần mềm máy tính Máy tính hoạt động theo một qui trình tự động đã định sẵn gọi là chương trình (program) hay còn gọi là Phần mềm máy tính (Software Computer). 44 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 23 45 3.2.1. Dữ liệu và giải thuật Mỗi bài toán phải giải quyết thường bao gồm 2 phần:  Phần dữ liệu Liên quan đến các thông tin cụ thể của bài toán  Phần xử lý: Thao tác phải được máy tính tiến hành nhằm đáp ứng yêu cầu người dùng  Giải thuật/Thuật toán (Algorithm) 46 a. Dữ liệu Dữ liệu:  Đầu vào (Input): Các dữ liệu được cung cấp để xử lý  Đầu ra (Output): Kết quả xử lý 24 47 b. Giải thuật Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác và trình tự thực hiện các thao tác đó sao cho sau khi thực hiện dãy thao tác này theo trình tự đã chỉ ra, với đầu vào (input) ta thu được kết quả đầu ra (output) mong muốn. 48 a.1. Mô tả giải thuật/thuật toán Cách 1: Diễn giải tuần tự các bước Cách 2: Lưu đồ/sơ đồ khối Cách 3: Các ngôn ngữ lập trình như Pascal, C/C++ hay Java. Tuy nhiên, không nhất thiết phải sử dụng đúng ký pháp của các ngôn ngữ đó mà có thể được bỏ một số ràng buộc. Cách 4: Giả mã (pseudocode) gọi là ngôn ngữ mô phỏng chương trình PDL (Programming Description Language). 25 49 Ví dụ 1 Bài toán: Đưa ra kết luận về tương quan của hai số a và b (>, < hay =).  Đầu vào: Hai số a và b  Đầu ra: Kết luận a>b hay a<b hay a=b. Ý tưởng:  So sánh a và b rồi đưa ra kết luận 50 Ví dụ 1- Mô tả tuần tự các bước B1: Nhập số a và số b. B2: Nếu a> b, hiển thị “a>b” và kết thúc B3: Nếu a=b, hiển thị “a=b” và kết thúc B4: (a<b) Hiển thị “a<b” và kết thúc. 26 51 Ví dụ 1 - Mô tả bằng lưu đồ thuật toán Biểu diễn thao tác so sánh Thể hiện thao tác bắt đầu hoặc kết thúc Nhập a, b a>b a=b Hiển thị “a>b” Hiển thị “a=b” Hiển thị “a<b” Đ Đ S S 52 Ví dụ 2 Bài toán: Đưa ra tổng, tích, hiệu, thương của hai số a và b.  Đầu vào: Hai số a và b  Đầu ra: Tổng, tích, hiệu và thương của a và b. Ý tưởng:  Tính tổng, tích, hiệu của a và b  Nếu b khác 0, đưa ra thương  Nếu b bằng 0, đưa ra thông báo không thực hiện được phép chia 27 53 Ví dụ 2- Mô tả tuần tự các bước B1: Nhập số a và số b. B2: s  a + b; d  a – b; p  a * b Hiển thị  Tổng là s  Hiệu là d  Tích là p B3: Nếu b = 0, hiển thị “Không thực hiện được phép chia” và kết thúc B4: (b0) Hiển thị “Thương là a/b” và kết thúc 54 Ví dụ 2 - Mô tả bằng lưu đồ thuật toán Biểu diễn thao tác so sánh Thể hiện thao tác bắt đầu hoặc kết thúc Nhập a, b b = 0 Hiển thị “Không thực hiện được phép chia” Hiển thị “Thương là a/b” s  a + b; d  a – b; p  a * b; Hiển thị “Tổng là s, Hiệu là d, Tích là p” Biểu diễn thao tác tính toán đơn giản hoặc phức tạp 28 55 Ví dụ 3 Bài toán: Giải phương trình bậc I  Đầu vào: Hai hệ số a, b  Đầu ra: Nghiệm của phương trình ax + b = 0 Ý tưởng:  Lần lượt xét a = 0 rồi xét b = 0 để xét các trường hợp của phương trình 56 Ví dụ 3 - Mô tả tuần tự các bước B1: Nhập a và b. B2: Nếu a0 thì hiển thị “Phương trình có 1 nghiệm duy nhất x = -b/a”. B3: (a=0) Nếu b 0 thì hiển thị “Phương trình vô nghiệm” và kết thúc B4: (a=0)(b=0) Hiển thị “Phương trình vô số nghiệm” và kết thúc 29 57 Ví dụ 3 - Mô tả bằng lưu đồ thuật toán Nhập a và b a0 Hiển thị “Nghiệm là: x = -b/a” b0 S S Đ Đ Hiển thị “Phương trình vô nghiệm” Hiển thị “Phương trình vô số nghiệm” 58 Ví dụ 4 Bài toán: Tìm giá trị lớn nhất của một dãy số nguyên có N số  Đầu vào: Số số nguyên dương N và N số nguyên a1, a2,, aN  Đầu ra: số nguyên lớn nhất của dãy ak, k trong khoảng [1N] Ý tưởng:  Khởi tạo giá trị Max = a1  Lần lượt so sánh Max với ai với i=2,3,, N; nếu ai > Max ta gán giá trị mới cho Max 30 59 Ví dụ 4 - Mô tả tuần tự các bước B1: Nhập N và dãy số a1, a2,,aN. B2: Max  a1; i=2. B3: Nếu i > N, Hiển thị Max là giá trị lớn nhất của dãy và kết thúc B4: Nếu ai > Max, Max  ai B5: Tăng i lên 1 đơn vị. B6: Quay lên B3. B7: Kết thúc. 60 Ví dụ 4 - Mô tả bằng lưu đồ thuật toán Nhập N và dãy số a1, a2,,aN i > N Hiển thị “Max là số lớn nhất” Max  a1; i=2 ai > Max i  i + 1 S S Đ Max  ai Đ 31 61 Ví dụ 5 Bài toán: Sắp xếp bằng phương pháp tráo đổi (Exchange Sort)  Đầu vào: Dãy A gồm N số nguyên a1, a2,, aN  Đầu ra: Dãy A dược sắp lại theo thứ tự không giảm. Ý tưởng:  Với mỗi cặp số liên tiếp trong dãy, nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau.  Việc đó được lặp cho đến khi không có sự đổi chỗ nào cho nhau 62 Ví dụ 5 - Mô tả tuần tự các bước B1: Nhập số N và dãy số a1,a2,,aN B2: M  N. B3: Nếu M < 2 thì thuật toán kết thúc và hiển thị dãy đó. B4: M  M – 1, i  0. B5: Tăng i lên 1 đơn vị. B6: Nếu i > M thì quay lại B3. B7: Nếu ai > ai+1 thì tráo đổi hai số đó cho nhau B8: Quay lên B5. 32 63 Ví dụ 5 - Mô tả bằng lưu đồ thuật toán Nhập N và dãy số a1, a2,,aN M < 2 Hiển thị Dãy đã sắp xếp M  N i > M S S Đ ai  ai+1 Đ M  M – 1, i  0 i  i + 1 ai > ai+1 S Đ Đ 64 Bài tập Bài toán: Giải phương trình bậc II  Đầu vào: Ba hệ số a, b, c  Đầu ra: Nghiệm của phương trình ax2 + bx + c = 0 Ý tưởng:  Lần lượt xét a = 0, b = 0 rồi xét c=0 để xét các trường hợp của phương trình 33 65 b. Các tiêu chí giải thuật cần thỏa mãn Tính hữu hạn: giải thuật phải dừng sau một thời gian hữu hạn. Khi kết thúc, giải thuật phải cung cấp kết quả đúng đắn. Tính hiệu quả:  Thời gian tính toán nhanh  Sử dụng ít tài nguyên không gian như bộ nhớ, thiết bị,  Mang tính phổ dụng, dễ hiểu, dễ cài đặt và mở rộng cho các lớp bài toán khác. 66 c. Các cấu trúc cơ bản trong lập trình cấu trúc Cấu trúc tuần tự Cấu trúc rẽ nhánh Cấu trúc lặp 34 67 Cấu trúc tuần tự Các bước được thực hiện theo 1 trình tự tuyến tính, hết bước này đến bước khác Bước 1 Bước 2 Bước n 68 Cấu trúc rẽ nhánh Việc thực hiện bước nào phụ thuộc vào điều kiện xác định. Ví dụ: Tìm max của 2 số a, b.  Nếu a > b thì max là a, ngược lại max sẽ là b.  Diễn giải: B1: Nhập 2 số a, b. B2: Nếu a > b thì Max = a và đi đến bước kết thúc (B4). B3: (a <= b) Max  b. B4: Kết thúc. Max  a a>b Max  b 35 69 Cấu trúc lặp Một tác động/ nhiệm vụ có thể được thực hiện lặp nhiều lần. Số lần lặp có thể biết trước hoặc không biết trước.Tuy nhiên số lần lặp phải hữu hạn. Điều kiện Thực hiện công việc trong vòng lặp Thực hiện công việc khi thoát khỏi vòng lặp 70 Cấu trúc lặp (tiếp) Nhập N và dãy số a1, a2,,aN i > N Hiển thị “Max là số lớn nhất” Max  a1; i=2 ai > Max i  i + 1 S S Đ Max  ai Đ Ví dụ: Tìm số lớn nhất của một dãy có n số  Lần lượt phải so sánh số Max tạm thời (lúc đầu Max được gán bằng phần tử thứ nhất, a1) với ai, với i từ 2, 3,, n.  Việc so sánh này được thực hiện lặp nhiều lần giữa Max và ai.  Khi kết thúc quá trình lặp, ta sẽ thu được Max là số lớn nhất của dãy n số. 36 71 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 72 3.2.2. Chương trình và ngôn ngữ lập trình Lập trình:  Để máy có thể hiểu và tiến hành xử lý được ta phải biến các bước thao tác thành các chỉ thị (statement) và biểu diễn trong dạng mà máy tính hiểu được. Chương trình:  Giải thuật được biếu diễn dưới dạng một tập các chỉ thị của một ngôn ngữ nào đó. Ngôn ngữ lập trình:  Ngôn ngữ dùng để lập trình: Dùng để trao đổi với máy tính, máy tính hiểu và thực thi nhiệm vụ đã chỉ ra 37 73 3.2.2. Chương trình và ngôn ngữ lập trình (tiếp) Cấu trúc dữ liệu:  Cách thức tổ chức để lưu trữ dữ liệu. Niklaus E. Wirth người sáng lập ra trường phái lập trình cấu trúc và NNLT Pascal: Chương trình = Cấu trúc dữ liệu + Giải thuật 74 a. Các loại ngôn ngữ lập trình Ngôn ngữ máy:  Mỗi loại máy tính đều có ngôn ngữ máy riêng.  Loại ngôn ngữ duy nhất để viết chương trình mà máy tính hiểu trực tiếp và thực hiện được.  Các chỉ thị (lệnh) của ngôn ngữ này viết bằng mã nhị phân hay mã hec-xa. Nó gắn chặt với kiến trúc phần cứng của máy và do vậy nó khai thác được các đặc điểm phần cứng.  Không thuận lợi cho người lập trình do tính khó nhớ của mã, tính thiếu cấu trúc, 38 75 a. Các loại ngôn ngữ lập trình (tiếp) Hợp ngữ:  Hợp ngữ cho phép người lập trình sử dụng một số từ gợi nhớ viết tắt để thể hiện các câu lệnh thực hiện.  Ví dụ: để cộng nội dung của 2 thanh ghi AX và BX rồi ghi kết quả vào AX, ta có thể dùng câu lệnh hợp ngữ sau: ADD AX, BX  Một chương trình hợp ngữ phải được dịch ra ngôn ngữ máy nhờ chương trình hợp dịch trước khi máy tính có thể thực hiện. 76 a. Các loại ngôn ngữ lập trình (tiếp) Ngôn ngữ bậc cao:  Ít phụ thuộc vào kiến trúc phần cứng máy tính, gần với tiếng Anh tự nhiên, có tính độc lập cao để khắc phục những hạn chế của hợp ngữ  Các chương trình viết bằng ngôn ngữ này, trước khi để máy có thể thực thi cần phải chuyển đổi sang ngôn ngữ máy. Quá trình chuyển đổi đó gọi là quá trình dịch.  Ví dụ: FORTRAN, COBOL, ALGOL60, BASIC, Pascal, Foxpro, Visual Foxpro, Visual Basic, C, Visual C, C++, Java, C#, Python, 39 77 b. Hai phương thức dịch Thông dịch (Interpreter):  Bộ thông dịch đọc từng lệnh của chương trình nguồn, phân tích cú pháp của câu lệnh đó và nếu đúng thì thực hiện.  Quá trình bắt đầu từ lệnh đầu tiên của chương trình đến lệnh cuối cùng nếu không có lỗi.  Bộ thông dịch này giống như vai trò của 1 thông dịch viên (translator). Biên dịch (Compiler):  Trình biên dịch dịch toàn bộ chương trình nguồn sang ngôn ngữ đích.  Với chương trình đích này, máy đã có thể hiểu được và biết cách thực thi.  Quá trình biên dịch sẽ tạo ra chương trình đích chỉ khi các lệnh trong chương trình nguồn không có lỗi. 78 c. Qui trình giải quyết một bài toán trên máy tính 40 79 Chương 03: Hệ thống máy tính 3.1. Tổ chức bên trong máy tính  3.1.1. Mô hình cơ bản của máy tính  3.1.2. Bộ xử lý trung tâm – CPU  3.1.3. Bộ nhớ  3.1.4. Hệ thống vào-ra  3.1.5. Liên kết hệ thống (buses) 3.2. Phần mềm máy tính  3.2.1. Dữ liệu và giải thuật  3.2.2. Chương trình và ngôn ngữ lập trình  3.2.3. Phần mềm máy tính 80 a. Quy trình phát triển phần mềm máy tính B1: Xác định bài toán:  Xác định yêu cầu người dùng B2: Phân tích bài toán:  Tìm hiểu nhiệm vụ (chức năng) mà phần mềm cần xây dựng phải có và các dữ liệu cần thiết.  Xây dựng các giải pháp khả thi.  Tìm hiểu hệ thống là gì? Và làm gì? (What) B3: Thiết kế hệ thống:  Thực hiện thiết kế kiến trúc hệ thống, thiết kế các mô đun chương trình, thiết kế giao tiếp, thiết kế an toàn,  Thiết kế mô đun chính là xây dựng giải thuật cho mô đun đó và cách diễn tả giải thuật.  Hệ thống cần được làm như thế nào? (How) 41 81 a. Quy trình phát triển phần mềm máy tính (tiếp) B4: Xây dựng chương trình:  Viết mã nguồn (source code) cho các mô đun theo ngôn ngữ lập trình đã xác định. B5: Kiểm thử chương trình:  Nhằm kiểm tra tính đúng đắn của từng mô đun và cả hệ thống trước khi bàn giao cho khách hàng. B7: Triển khai:  Cài đặt, triển khai cho khách hàng (người dùng) sử dụng chương trình  Viết tài liệu hướng dẫn sử dụng cho phần mềm B8: Bảo trì:  Sửa các lỗi trong quá trình người sử dụng dùng thử chương trình trong thời gian đầu. 82 b. Phân loại phần mềm máy tính Phân loại theo quan điểm sử dụng chung:  Phần mềm hệ thống: Phần mềm điều khiển hoạt động bên trong của máy tính và cung cấp môi trường giao tiếp giữa người dùng và máy tính nhằm khai thác hiệu quả phần cứng phục vụ cho nhu cầu sử dụng. Loại phần mềm này đòi hỏi tính ổn định, tính an toàn cao. Chẳng hạn các hệ điều hành máy đơn hay hệ điều hành mạng, các tiện ích hệ thống,  Phần mềm ứng dụng: Phần mềm dùng để giải quyết các vấn đề phục vụ cho các hoạt động khác nhau của con người như quản lý, kế toán, soạn thảo văn bản, trò chơi. Nhu cầu về phần mềm ứng dụng ngày càng tăng và đa dạng. 42 83 b. Phân loại phần mềm máy tính (tiếp) Phân loại theo đặc thù ứng dụng và môi trường:  Phần mềm thời gian thực (Real-time SW)  Phần mềm nghiệp vụ (Business SW)  Phần mềm tính toán KH&KT (Eng.&Scie. SW)  Phần mềm nhúng (Embedded SW)  Phần mềm trên Web (Web-based SW)  Phần mềm trí tuệ nhân tạo (AI SW)  84 Câu hỏi

Các file đính kèm theo tài liệu này:

  • pdfthdc_phan_1_bai_3_6894.pdf
Tài liệu liên quan