670 likes | 1.03k Views
TIN HỌC ĐẠI CƯƠNG. Nguyễn Thành Kiên Bộ môn Kỹ thuật máy tính Khoa Công nghệ thông tin – ĐHBK HN. Bài 3.Hệ thống máy tính. Nội dung chính: Tổ chức bên trong máy tính Phần mềm máy tính . Bài 3. Hệ thống máy tính.
E N D
TIN HỌC ĐẠI CƯƠNG Nguyễn Thành Kiên Bộ môn Kỹ thuật máy tính Khoa Công nghệ thông tin – ĐHBK HN
Bài 3.Hệ thống máy tính. Nội dung chính: • Tổ chức bên trong máy tính • Phần mềm máy tính
Bài 3. Hệ thống máy tính. • Máy tính điện tử là một hệ xử lý thông tin gồm 2 phần chính: • Phần cứng (hardware): tất cả các cấu kiện, linh kiện điện, điện tử trong một hệ máy. • Phần mềm (software): một bộ chương trình gồm các chỉ thị điện tử ra lệnh cho máy tính thực hiện một điều nào đó theo yêu cầu của người sử dụng. • Phần mềm có thể được ví như phần hồn của máy tính mà phần cứng của nó được xem như phần xác.
Bài 3. 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
Bài 3. 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 (bus) • 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
3.1.1. Mô hình cơ bản của máy tính • 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
Bộ xử lý trung tâm (CP) Bộ nhớ chính Liên kết hệ thống Các thiết bị vào Bộ nhớ ngoài Các thiết bị ra Hệ thống vào - ra 3.1.1. Mô hình cơ bản của máy tính • Cấu trúc của hệ thống máy tính:
3.1.1. Mô hình cơ bản của máy tính • Bộ xử lý trung tâm – CPU: Đ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.
3.1.1. Mô hình cơ bản của máy tính • 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ớ. • Việc thực hiện chương trình là việc lặp lại chu trình lệnh bao gồm các bước sau:
3.1.1. Mô hình cơ bản của máy tính • Chu trình lệnh: • CPU phát địa chỉ từ con trỏ lệnh đến bộ nhớ nơi chứa lệnh cần nhận. • CPU nhận lệnh từ bộ nhớ đưa về thanh ghi lệnh • Tăng nội dung con trỏ lệnh để trỏ đến nơi lưu trữ lệnh kế tiếp • CPU giải mã lệnh để xác định thao tác của lệnh • Nếu lệnh sử dụng dữ liệu từ bộ nhớ hay cổng vào ra thì cần phải xác định địa chỉ nơi chứa dữ liệu. • CPU nạp các dữ liệu cần thiết vào các thanh ghi trong CPU • Thực thi lệnh • Ghi kết quả vào nơi yêu cầu • Quay lại bước đầu tiên để thực hiện lệnh tiếp theo. Nhận lệnh Giải mã lệnh Thực hiện lệnh Ghi kết quả
Bài 3. 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 (bus) • 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
3.1.2. Bộ xử lý trung tâm – CPU • Bộ xử lý trung tâm (Central Proccesing Unit- CPU) • Chức năng: điều khiển các thành phần của máy tính, xử lý dữ liệu. • Hoạt động: theo chương trình nằm trong bộ nhớ chính, nhận các lệnh từ bộ nhớ chính, giải mã lệnh để phát ra các tín hiệu điều khiển thực thi lệnh.
Khối điều khiển (CU) Khối số học và lô gic (ALU) Tập các thanh ghi Đơn vị nối ghép bus Bus điều khiển Bus dữ liệu Bus địa chỉ 3.1.2. Bộ xử lý trung tâm – CPU • Mô hình cơ bản của CPU:
3.1.2. Bộ xử lý trung tâm – CPU • Khối điều khiển (Control Unit – CU): • Nhận lệnh của chương trình từ bộ nhớ trong đưa vào CPU, giải mã các lệnh, tạo ra các tín hiệu điều khiển công việc của các bộ phận khác của máy tính theo yêu cầu của người sử dụng hoặc theo chương trình đã cài đặt..
3.1.2. Bộ xử lý trung tâm – CPU • Khối tính toán số học và logic (ArithmeticandLogic Unit - ALU) • Bao gồm các thiết bị thực hiện các phép tính số học (cộng, trừ, nhân, chia, ...), các phép tính logic (AND, OR, NOT, XOR) và các phép tính quan hệ (so sánh lớn hơn, nhỏ hơn, bằng nhau, ...) • Dữ liệu từ bộ nhớ hay các thiết bị vào-ra sẽ được chuyển vào các thanh ghi của CPU, rồi chuyển đến ALU. Tại đây, dữ liệu được tính toán rồi trả lại các thanh ghi và chuyển về bộ nhớ hay các thiết bị vào-ra.
3.1.2. Bộ xử lý trung tâm – CPU • Tập các thanh ghi (Registers) • Nhiệm vụ: bộ nhớ trung gian cho CPU. Các thanh ghi mang các chức năng chuyên dụng giúp tăng tốc độ trao đổi thông tin trong máy tính. • Trên các CPU hiện nay có từ vài chục đến vài trăm thanh ghi. Độ dài của các thanh ghi cũng khác nhau từ 8 đến 64 bit.
Bài 3. 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 (bus) • 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
3.1.3. Bộ nhớ • Bộ nhớ: là thiết bị lưu trữ thông tin trong quá trình máy tính xử lý. • Bộ nhớ bao gồm: • Bộ nhớ trong. • Bộ nhớ ngoài.
a. Bộ nhớ trong • Chứa thông tin mà CPU có thể trao đổi trực tiếp: lệnh, các dữ liệu mà CPU sử dụng. • Dung lượng không lớn • Tốc độ trao đổi thông tin cao. • Bộ nhớ trong quan trọng: • Bộ nhớ chính • Bộ nhớ đệm (Cache)
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 • Số bit được dùng để đánh địa chỉ của ngăn nhớ sẽ quyết định dung lượng tối đa của bộ nhớ chính: • VD: Dùng 16 bit địa chỉ thì dung lượng tối đa của bộ nhớ là 216 = 26 x 210 = 64KB
Bộ nhớ chính • Được thiết kế bằng bộ nhớ bán dẫn, có 2 loại ROM và RAM:
Bộ nhớ đệm (cache) • Hầu hết các máy tính hiện nay đều có cache tích hợp trên chip vi xử lý • Đặt đệm giữa CPU và bộ nhớ trong nhằm làm tăng tốc độ trao đổi thông tin. • Kiểu bộ nhớ RAM, có dung lượng nhỏ, tốc độ cao • Chứa một phần chương trình và dữ liệu mà CPU đang xử lý, do vậy thay vì lấy lệnh và dữ liệu từ bộ nhớ chính, CPU sẽ lấy trên cache
b. Bộ nhớ ngoài • Lưu trữ 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
Bộ nhớ ngoài • 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
Bài 3. 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 (bus) • 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
Hệ thống vào-ra • Chức năng: trao đổi (vào+ra) thông tin giữa máy tính với thế giới bên ngoài. • Gồm hai thành phần: • Thiết bị vào-ra (IO devices) hay còn gọi là thiết bị ngoại vi (Peripheral devices) • Mô-đun ghép nối vào-ra (IO Interface modules)
Mođun ghép nối vào-ra • Ảnh một số cổng vào ra thông dụng:
Mođ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.
Thiết bị vào-ra • Thiết bị thu nhận dữ liệu: Bàn phím, chuột, máy quét ảnh,… • Thiết bị hiển thị dữ liệu: màn hình, máy in, máy chiếu… • Thiết bị nhớ: các loại ổ đĩa • Thiết bị truyền thông: modem • Thiết bị hỗ trợ đa phương tiện: hệ thống âm thanh, hình ảnh,…
Bài 3. 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 (bus) • 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
Bộ xử lý trung tâm (CPU) Bộ nhớ chính Liên kết hệ thống Các thiết bị vào Bộ nhớ ngoài Các thiết bị ra Hệ thống vào - ra Liên kết hệ thống (Bus)
Liên kết hệ thống (Bus) • 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 • Độ rộng bus: Là số đường dây của bus có thể truyển thông tin đồng thời. • Tốc độ bus: là tốc độ dữ liệu truyền trên bus • Về chức năng, bus được chia làm 3 loại chính: • Bus địa chỉ • Bus dữ liệu • Bus điều khiển
Bài 3. 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 (bus) • 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
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 (Computer Software).
Bài 3. 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 (bus) • 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
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 • Các thông tin đầu vào, đầu ra 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)
Giải thuật/Thuật toán • 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.
Mô 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ể lược bỏ một số ràng buộc. • Cách 4: Giả ngữ (pseudocode) gọi là ngôn ngữ mô phỏng chương trình PDL (Programming Description Language).
Ví dụ 1 • 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 [1…N] • Ý tưởng • Khởi tạo giá trị Max = a1 • Lần lượt so sánh Max với i=2, 3,…, N, nếu ai > Max ta gán giá trị mới cho Max.
Ví dụ 1 • Diễn tả tuần tự từng bước: • B1: Nhập dãy N số ai . • B2: i=2, Max a1. • B3: Nếu i > N, thuật toán kết thúc và Max là giá trị lớn nhất của dãy cần tìm • B4: Nếu ai > Max, gán ai cho Max. • B5: Tăng i lên 1 đơn vị. • B6: Quay lên B3. • B7: Kết thúc.
Ví dụ 1 • Lưu đồ thuật toán
Quy ước biểu diễn • Qui ước: • Hình thoi biểu diễn thao tác so sánh • Hình chữ nhật thể hiện 1 thao tác tính toán đơn giản hay phức tạp • Hình ô van thể hiện thao tác bắt đầu hay kết thúc.
Ví dụ 2 • 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 không 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.
Ví dụ 2 • Diễn tả tuần tự từng 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 bước 3. • B7: Nếu ai > ai+1 thì tráo đổi hai số đó cho nhau • B8: Quay lên bước 5.
Ví dụ 2 • Lưu đồ thuật toán
Yêu cầu đối với thuật toán • Giải thuật phải thoả mãn 3 tiêu chí sau: • 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ị,… Hơn nữa, giải thuật cần 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.
Các cấu trúc trong lập trình • Cấu trúc tuần tự • Cấu trúc rẽ nhánh • Cấu trúc lặp
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