Tài liệu Nhập môn tin học - Vương Quốc Dũng

doc 279 trang hapham 2720
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Nhập môn tin học - Vương Quốc Dũng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • doctai_lieu_nhap_mon_tin_hoc_vuong_quoc_dung.doc

Nội dung text: Tài liệu Nhập môn tin học - Vương Quốc Dũng

  1. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Mở đầu Tài liệu này được biên soạn nhằm sử dụng cho giảng dạy và học tập trong giai đoạn đầu khóa học để sinh viên cao đẳng và đại học có kiến thức cơ bản về máy tính, có khả năng sử dụng thành thạo máy tính, cũng như thực hiện sử dụng được phần mềm tin học văn phòng (Microsoft Office) và bước đầu có được cách tư duy lập trình rõ ràng mạch lạc. Cũng có thể làm tài liệu tham khảo cho sinh viên đại học khi học nhập môn tin học. Tài liệu gồm năm phần: - Chương 1: Giới thiệu các khái niệm cơ bản giúp sinh viên nắm được tổng quan về nguyên lý làm việc của máy tính cũng như cách biểu diễn dữ liệu, lưu trữ thông tin trong máy tính, truyền thông nhờ máy tính (Dũng biên soạn chủ công). - Chương 2: Hướng dẫn làm quen và sử dụng máy tính cài đặt hệ điều hành Windows XP, cùng với một số chương trình ứng dụng của Windows (Dũng có biên soạn bổ xung). - Chương 3: Hướng dẫn sử dụng chương trình soạn thảo văn bản Microsoft Winword, giúp sinh viên có thể thực hiện trình bày hoàn chỉnh một tài liệu báo cáo luận văn, từ biên tập hình ảnh theo ý muốn đến định dạng văn bản tự động, tạo mục lục tự động (Dũng có biên soạn bổ xung) - Chương 4: Trình bày cách thức tạo một bài báo cáo trình diễn sử dụng máy chiếu Project với chương trình phần mềm Microsoft PowerPoint cùng với các khái niệm liên quan (Dũng biên soạn). - Chương 5: Là phần tài liệu tương đối đầy đủ và tuần tự để sinh viên có thể học và tự học lập trình PASCAL. Tài liệu bao gồm các khái niệm cơ bản, các chương trình ví dụ ứng dụng đã được biên soạn và thử nghiệm cùng nhiều bài tập cho sinh viên thực hành, rèn luyện tư duy và kỹ năng lập trình (Dũng có biên soạn bổ xung). Ngoài tính thiết thực với môn học như tiêu đề của tài liệu, chúng tôi mong rằng tài liệu này đáp ứng được một phần nào nhu cầu sử dụng máy tính ứng dụng trong thực tiễn của bạn đọc. Trong quá trình biên soạn, không tránh khỏi sai sót, rất mong sự thông cảm và đóng góp ý kiến bổ xung của các thầy cô giáo đồng nghiệp và của tất cả các bạn sinh viên, học sinh. Chúng tôi xin chân thành tiếp thu và cảm ơn. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 1 -
  2. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) MỤC LỤC CHƯƠNG 1. TỔNG QUAN VỀ MÁY TÍNH 8 Bài 1. Các khái niệm cơ bản 8 1.1. Thông tin – biểu diễn và xử lý thông tin 8 1.1.1. Khái niệm thông tin 8 1.1.2. Khái niệm dữ liệu 9 1.1.3. Biểu diễn thông tin trong máy tính 9 1.1.4. Xử lý thông tin trên máy tính 9 1.2. Tin học và công nghệ thông tin 10 1.3. Hệ đếm và các hệ đếm thường dùng trong tin học 10 1.3.1. Hệ đếm cơ số a 10 1.3.2. Phương pháp đổi một số ở hệ cơ số 10 về hệ cơ số a bất kỳ: 11 1.3.3. Các phép toán số học với số hệ hai 15 1.3.4. Biểu diển dữ liệu trong máy tính 22 1.4. Phần cứng và phần mềm 28 1.5. Ứng dụng CNTT và sự phát triển của xã hội 29 Bài 2. Cấu trúc tổng quan về máy tính 32 2.1. Kiến trúc chung của máy tính 32 2.2. Bộ nhớ 33 2.3. Bộ vi xử lý (CPU - đơn vị xử lý trung tâm) 34 2.4. Các thiết bị ngoại vi 35 2.4.1. Thiết bị nhập 35 2.4.2. Thiết bị xuât 36 2.4.3. Thiết bị lưu trữ 37 2.5. Quá trình thực hiện lệnh (thực hiện chương trình) 40 2.6. Các thế hệ máy tính và phân loại máy tính 40 2.6.1. Máy tính cơ khí 40 2.6.2. Thế hệ các máy tính đèn điện tử – thế hệ thứ nhất (1945 - 1955) 41 2.6.3. Thế hệ các máy tính transistor – thế hệ thứ hai (1955 - 1965) 42 2.6.4. Thế hệ các máy tính IC – thế hệ thứ 3 (1965-1980) 42 2.6.5. Thế hệ máy tính các nhân và VLSI – thế hệ thứ tư (1980 - 2000) 42 Bài 3. Tổng quan về hệ điều hành 43 3.1. Khái niệm về hệ điều hành 43 3.2. Các hệ điều hành 43 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 2 -
  3. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 3.2.1. Hệ điều hành UNIX 44 3.2.2. Hệ điều hành LINUX 45 3.2.3. Hệ điều hành MAC OS 45 3.2.4. Hệ điều hành Windows 9x/XP 46 3.2.5. Hệ điều hành Windows NT/2000/2003 46 3.3. Hệ điều hành MS-DOS 46 3.3.1. Khái niệm 46 3.3.2. Tên của ổ đĩa và dấu đợi lệnh (prompt) 46 3.3.3. Tập tin và cách đặt tên 46 3.3.4. Thư mục và cấu trúc cây thư mục. 47 3.3.5. Đường dẫn, phân loại đường dẫn 48 3.3.6. Đĩa khởi động 48 3.3.7. Lệnh nội trú và lệnh ngoại trú của MS-DOS 49 Bài 4. Tổng quan về mạng máy tính 59 4.1. Cơ sở của mạng máy tính 59 4.2. Mạng LAN và mạng WAN 60 4.2.1. Phân loại mạng theo phạm vi địa lý 60 4.2.2. Các thành phần cơ bản của mạng máy tính 60 4.3. Phương thức truyền thông trên mạng 62 4.3.1. Khái niệm giao thức mạng (Protocol) 62 4.3.2. Các giao thức mạng 62 4.4. Internet và các dịch vụ trên Internet 63 4.4.1. Internet 63 4.4.2. Các dịch trên Internet 63 CHƯƠNG 2. CHƯƠNG TRÌNH SOẠN THẢO VĂN BẢN 67 Bài 1. Hệ điều hành WINDOWS 67 1.1. Giới thiệu chung về Windows. 67 1.2. Đăng nhập và thoát khỏi Windows 68 1.3. Màn hình Desktop 69 1.3.1. Menu Start và thanh tác vụ - Taskbar 69 1.3.2. Biểu tượng và cửa sổ 72 1.3.3. Các mục trong menu Start 74 1.3.4. CONTROL PANEL 78 1.3.5. Quản lý thư mục và file 79 1.3.6. Các chế độ biểu diễn màn hình display 81 CHƯƠNG 3. SOẠN THẢO VĂN BẢN MICROSOFT WORD. 84 Bài 1. Giới thiệu chương trình soạn thảo văn bản Winword 84 1.1. Khởi động và thoát khỏi Winword 84 1.1.1. Khởi động Winword 84 1.1.2. Thoát khỏi Winword 84 1.1.3. Các thành phần trong màn hình Winword 84 Bài 2. Các chức năng cơ bản của Microsoft Winword 86 2.1. Soạn thảo văn bản trong Winword 86 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 3 -
  4. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 2.1.1. Cách dùng bàn phím 86 2.1.2. Một số khái niệm, qui ước khi soạn thảo 86 2.1.3. Soạn thảo tiếng Việt 87 2.1.4. Làm việc với khối văn bản 88 2.2. Định dạng văn bản 89 2.2.1. Định dạng ký tự (Font chữ) 89 2.2.2. Định dạng đoạn văn 90 2.2.3. Định dạng trang in 91 2.2.4. Định khoảng cách Tab Stop 92 2.2.5. Bullets and Numbering (Điền tự động các ký hiệu ở đầu mỗi đoạn văn) 93 2.2.6. Drop Cap (Tạo chữ hoa trang trí ở đầu đoạn văn) 95 2.2.7. Đánh số trang văn bản 95 2.3. Định dạng tự động 95 2.3.1. Định dạng tự động 95 2.3.2. Tạo Mục lục tự động 98 2.4. Bảng biểu 99 2.4.1. Tạo một bảng mới 99 2.4.2. Các thao tác trong bảng 100 2.4.3. Sửa đổi trong bảng 100 2.4.4. Tạo các đường kẻ cho bảng 102 2.4.5. Sắp xếp các dữ liệu trên cùng một bảng 102 2.4.6. Tính toán trong bảng 103 2.5. Xử lý đồ họa 104 2.5.1. Chèn thêm các ký tự đặc biệt 104 2.5.2. Sử dụng WordArt 104 2.5.3. Drop Cap (Tạo chữ hoa trang trí ở đầu đoạn văn) 107 2.5.4. Chèn hình ảnh vào văn bản 108 2.5.5. Các công cụ đồ họa 109 2.6. In tài liệu 110 Bài 3. Một số tiện ích của Microsoft Winword 111 3.1. Tìm kiếm và thay thế 112 3.1.1. Tìm kiếm: 112 3.1.2. Thay thế: 112 3.2. Cách gõ chỉ số trên, chỉ số dưới 113 3.3. Tạo AutoCorrect ( Gõ tắt một cụm từ): 113 3.3.1. Chèn công thức toán học 114 CHƯƠNG 4. Trình diễn với Microsoft powerpoint 116 Bài 1. Giới thiệu phần mềm Microsoft PowerPoint 116 1.1. Giới thiệu về Microsoft PowerPoint 116 1.2. Khởi động PowerPoint 116 1.3. Màn hình PowerPoint 116 1.4. Các thanh công cụ trong PowerPoint 116 Bài 2. Các khái niệm và đối tượng cơ bản 117 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 4 -
  5. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 2.1. Các khái niệm cơ bản 117 2.2. Các đối tượng cơ bản 117 2.2.1. Các đối tượng đồ họa 117 2.2.2. Các đối tượng khác 117 Bài 3. Các thao tác vào/ ra với Presentation 118 3.1. Tạo Presentation 118 3.2. Ghi Presentation 118 3.3. Mở Presentation 118 Bài 4. Các thao tác cơ bản với Slide 118 4.1. Đặt lề trang (Page setup) 118 4.2. Chèn thêm Slide 118 4.3. Xóa Slide 119 4.4. Thay đổi vị trí Slide trong danh sách 119 4.5. Thay đổi Layout 119 4.6. Chọn kiểu / màu nền cho slide 119 4.7. Chèn bảng biểu vào slide 119 Bài 5. Chế độ slide show 120 5.1. Hiệu ứng Animation cho slide show 120 5.1.1. Tạo hiệu ứng hoạt ảnh có sẵn 120 5.1.2. Tạo hiệu ứng hoạt ảnh tùy chọn 120 5.2. Cài đặt thời gian hiện cho một slide show 121 Bài 6. Các chế độ màn hình trong PowerPoint 121 6.1. Outline view 121 6.2. View/ Sorter (hoặc slide sorter view) 121 6.3. View/ Notes pages (hoặc Notes pages view) 121 6.4. View/ Slide show 122 6.5. View/ Zoom 122 6.6. View/ Master 122 6.7. View/ Slide 122 CHƯƠNG 5. GIỚI THIỆU NGÔN NGỮ PASCAL 123 Bài 1. Sơ lược về ngôn ngữ PASCAL 123 1.1. Giới thiệu ngôn ngữ TURBO PASCAL 123 1.2. Bộ từ vựng của TURBO PASCAL 123 1.2.1. Tập ký tự cơ bản 123 1.2.2. Từ khóa (key word): 124 1.2.3. Tên (identifier): 124 1.3. Cấu trúc chương trình 125 1.3.1. Phần tên chương trình: 125 1.3.2. Phần khai báo: 125 1.3.3. Phần thân chương trình: 127 1.4. Nhập – xuất cơ bản trong TURBO PASCAL 128 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 5 -
  6. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 1.4.1. Các thủ tục nhập dữ liệu cơ bản 128 1.4.2. Các thủ tục xuất dữ liệu cơ bản 129 1.4.3. In không định dạng: 131 1.4.4. In có định dạng: 132 1.5. Hướng dẫn sử dụng trình soạn thảo TURBO PASCAL 133 1.5.1. Giới thiệu Turbo Pascal: 133 1.5.2. Khởi động Turbo Pascal: 134 1.5.3. Cửa sổ Turbo Pascal và cách chọn lệnh: 136 1.5.4. Thoát khỏi Turbo Pascal: 137 1.5.5. Các bước thực hiện một chương trình Pascal: 137 1.5.6. Một vài kỹ thuật trong soạn thảo: 140 Bài 2. Các kiểu dữ liệu và cấu trúc lệnh cơ bản 142 2.1. Các kiểu dữ liệu cơ bản 142 2.1.1. Khái niệm kiểu dữ liệu: 142 2.1.2. Phân loại kiểu dữ liệu: 142 2.1.3. Kiểu số nguyên 143 2.1.4. Kiểu số thực 146 2.1.5. Kiểu ký tự (kiểu char) 148 2.1.6. Kiểu logic (Boolean) 149 2.1.7. Kiểu chuỗi ký tự (string) 151 2.1.8. Kiểu liệt kê và kiểu đoạn con 152 2.1.9. Các hàm và thủ tục : Pred, Succ, Odd, UpCase, Ord, Chr 155 2.2. Khai báo biến, hằng 157 2.2.1. Khái niệm về biến và hằng: 157 2.2.2. Khai báo biến và khai báo hằng: 157 2.2.3. Biểu thức: 158 2.3. Các cấu trúc lệnh 159 2.3.1. Lệnh đơn và lệnh gán 159 2.3.2. Câu lệnh có điều kiện 160 2.3.3. Cấu trúc rẽ nhánh 164 2.3.4. Cấu trúc lặp FOR 174 2.3.5. Cấu trúc lặp REPEAT UNTIL 181 2.3.6. Cấu trúc lặp WHILE DO 185 Bài 3. Chương trình con 195 3.1. Thiết kế TOP – DOWN và lập trình có cấu trúc 195 3.2. Các loại chương trình con và cách khai báo 195 3.2.1. KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON 195 3.2.2. HÀM (Function) 196 3.2.3. THỦ TỤC (Procedure) 203 3.3. Biến toàn cục và biến cục bộ 206 3.3.1. Biến toàn cục và biến địa phương: 206 3.3.2. Phạm vi tác dụng của các khai báo: 207 3.4. Tham số của chương trình con 211 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 6 -
  7. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 3.4.1. Tham số giá trị (tham trị): 211 3.4.2. Tham số biến (tham biến): 212 3.5. Đệ qui của chương trình con 214 3.5.1. Tham khảo trước (Forward reference): 214 3.5.2. Đệ qui của chương trình con (Recursion): 215 Bài 4. Các kiểu dữ liệu có cấu trúc 218 4.1. Kiểu String (kiểu xâu ký tự) 218 4.1.1. Chuỗi và khai báo biến chuỗi: 218 4.1.2. Truy nhập vào từng phần tử của chuỗi: 219 4.1.3. Các thao tác trên chuỗi: 219 4.2. Kiểu Array (kiểu mảng) 225 4.2.1. Mảng một chiều 225 4.2.2. Mảng hai chiều (ma trận) 233 4.2.3. Các ví dụ nâng cao về mảng 240 4.3. Kiểu Set (kiểu tập hợp) 244 4.3.1. Khái niệm 244 4.3.2. Xác lập một tập 245 4.3.3. Các phép toán trên tập 245 4.3.4. Ghi và đọc dữ liệu kiểu tập 247 4.4. Kiểu Record (kiểu bản ghi) 249 4.4.1. Khái niệm kiểu bản ghi 250 4.4.2. Cú pháp khai báo biến bản ghi 250 4.4.3. Truy nhập biến kiểu bản ghi 251 4.4.4. Câu lệnh With 253 4.4.5. Mảng các bản ghi 254 4.4.6. Các ví dụ về kiểu bản ghi 255 4.5. Kiểu File (kiểu tệp) 262 4.5.1. Khái niệm: 262 4.5.2. Tập tin có định kiểu: 262 4.5.3. Tập tin văn bản: 266 CHƯƠNG 6. CON TRỎ 277 Bài 1. Định nghĩa và khai báo 277 1.1. Khái niệm kiểu con trỏ 277 1.2. Con trỏ định kiểu 278 1.2.1. Khái niệm 278 1.2.2. Định nghĩa và khai báo 278 1.3. Con trỏ định kiểu 278 1.3.1. Khái niệm 278 1.3.2. Định nghĩa và khai báo 278 1.4. Con trỏ không định kiểu 279 1.4.1. Khái niệm 279 1.4.2. Khai báo 279 2.1. Gán giá trị 279 2.2. Phép so sánh 279 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 7 -
  8. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Bài 3. Cấp phát động 279 Bài 4. Danh sách liên kết 279 CHƯƠNG 1. TỔNG QUAN VỀ MÁY TÍNH Bài 1. Các khái niệm cơ bản 1.1. Thông tin – biểu diễn và xử lý thông tin 1.1.1. Khái niệm thông tin Thông tin là một đại lượng phi vật chất, con người chỉ cảm nhận được thông qua thế giới khách quan. Xong thông tin có thể định lượng được, nếu xác suất xuất hiện tin càng thấp thì giá trị thông tin càng cao và ngược lại. Ví dụ khi ai đó thông báo GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 8 -
  9. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) cho bạn biết điểm thi của bạn mà bản thân bạn đã biết rồi thì giá trị thông tin đó bằng không (không có ý nghĩa với bạn) còn nếu tin đó đưa đến bạn trong trạng thái khắc khoải chờ đợi, nhất là khi bạn chưa rõ mình có đạt điểm qua hay không thì thông tin đó với bạn rất có ý nghĩa. Muốn truyền tải và lưu trữ thông tin thì chúng ta phải vật chất hóa thông tin bằng cách gửi thông tin qua một đại lượng vật lý nào đó. Ví dụ khi bạn muốn khoe với một người bạn về kết quả điểm thi của bạn qua mạng Internet thì thông tin cần thông báo đó phải được vật gửi qua tín hiệu điện (có thể là sóng điện từ). 1.1.2. Khái niệm dữ liệu Dữ liệu chính là thông tin đã được vật chất hóa, hay nói cách khác dữ liệu là một đại lượng vật lý mang tin, muốn có thông tin thì ta phải tập hợp và xử lý dữ liệu. Trong thực tế, dữ liệu có thể là các loại tín hiệu vật lý (sóng điện từ, sóng âm thanh, tín hiệu điện, ký tín ám hiệu ), có thể là các số liệu, hình ảnh, chữ viết Ví dụ khi người bạn của bạn đọc dòng thông báo về kết quả điểm thi của bạn trên màn hình, bạn đó sẽ cảm nhận được bạn là người học giỏi hay khá thông qua xử lý dòng thông báo trên màn hình trong não bộ. Một ví dụ khác, bảng tính lương được lưu trữ trên máy tính, muốn lấy thông tin về những người có mức lương thấp hơn lương tối thiểu để có chính sách trợ cấp khó khăn thì phải qua một quá trình xử lý trên máy tính. Quá trình xử lý thông có thể là tìm kiếm lấy ra hay lọc theo một điều kiện nhất định hoặc có thể là giải mã dữ liệu đã được mã hóa Cùng một thông tin, con người có thể biểu diễn thông tin này qua các đại lượng mang tin khác nhau, thể hiện qua các dạng dữ liệu khác nhau. Hay nói cách khác là thông tin nằm trong dữ liệu. Xử lý thông tin bao gồm nhiều quá trình xử lý dữ liệu để lấy ra thông tin hữu ích nhắm phục vụ đời sống con người. 1.1.3. Biểu diễn thông tin trong máy tính Trong máy tính để biểu diễn một giá trị số, chúng ta dùng hệ cơ số 2 hoặc nói ngắn gọn hơn là hệ hai (Binary number system, viết tắt là hệ B). Trong đó chỉ tồn tại 2 chữ số 0 và 1 để biểu diễn các giá trị số (ứng với 2 trạng thái: không có điện và có điện). 0 và 1 cũng là các giá trị có thể có của một chữ số hệ hai (Binary digiT, viết tắt là bit). Tương ứng trong máy tính có 2 mức trạng thái của điện áp: - Mức điện áp thấp (không có điện) tương ứng với giá trị 0 - Mức điện áp cao (có điện) tương ứng với giá trị 1 Ví dụ chữ “A” được mã hóa trong máy tính như sau: 01000001(số nhị phân) ta có thể hình dung tương ứng với 8 bóng đèn xếp liên tiếp nhau mà trong đó có 2 bóng sáng và 6 bóng tắt theo các vị trí tương ứng. Bit là thuật ngữ được viết tắt của cụm từ binary digit. Mỗi một bit còn cho ta biết được trạng thái của một tín hiệu điện trên một đường dây tại một thời điểm: điện áp ở mức cao (có điện) là 1, điện áp ở mức thấp (không có điện) 0. 1.1.4. Xử lý thông tin trên máy tính GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 9 -
  10. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Dữ liệu có thể được phát sinh, được lưu trữ, được lan truyền, được tìm kiếm, được xử lý để cho ta thông tin. Thông tin làm tăng thêm hiẻu biết của con người, giúp nhận biết tốt hơn, đúng hơn về những hiện tượng, đối tượng trong đời sống xã hội, trong thiên nhiên , là nguồn gốc của nhận thức. Việc thu thập và xử lý thông tin giúp con người thực hiện hợp lý công việc cần làm để đạt tới mục đích một cách tốt nhất. Khi tiếp nhận được thông tin, con người cần phải xử lý, chắt lọc thông tin để tạo ra những thông tin mới có ích hơn từ đó đưa ra những phán quyết và ứng xử tốt nhất. Ví dụ, người lái xe trên đường chăm chú quan sát người, xe cộ đi lại, độ tốt xấu của mặt đường, căn cứ vào tính năng kỹ thuật hiện tại của xe cũng như vị trí của xe đang lái để quyết định cần tăng tốc hay giảm tốc độ, đánh tay lái sang phải hay sang trái nhằm đảm bảo an toàn và tiết kiệm tối đa cho chuyến đi. Với một quả trình xử lý, thông tin được vật chất hóa thành dữ liệu đầu vào dưới dạng đại lượng mang tin nào đó, qua quá trình xử lý có các kết quả trung gian và sau đó đưa ra kết quả cuối cùng, con người cần phải sử dụng một số công cụ nhất định như giấy, bút, máy tính và cả bộ não tư duy của con người. Kết quả đầu ra của quá trình xử lý là thông tin mới được ghi nhớ trên một đại lượng mang tin nào đó, đại lượng mang tin có thể là vở ghi, dữ liệu lưu trữ trên máy tính ở dạng các tín hiệu điện 0/1. Trước đây khi thông tin còn ít, đơn giản, con người có thể tự mình xử lý dễ dàng thông qua các hình thức xử lý thủ công như giấy, bút, Ngày nay với sự phát triển của xã hội, thông tin ngày càng nhiều, ngày càng phức táp, với các hình thức xử lý thủ công con người không thể xử lý kịp thời theo yêu cầu. Máytính điện tử ra đời đã giúp cho con người có công cụ để xử lý thông tin một cách tự động, nhanh, đáp ứng kịp thời được yêu cầu nhiệm vụ, tiết kiệm nhiều thời gian và công sức. 1.2. Tin học và công nghệ thông tin Tin học là ngành khoa học nghiên cứu các phương pháp, công nghệ và các kỹ thuật thu thập, tổ chức, xử lý và truyền đạt thông tin một cách tự động. Công nghệ thông tin là tập hợp các phương pháp khoa học, các phương tiện và công cụ kỹ thuật hiện đại – chủ yếu là kỹ thuật máy tính và viễn thông – nhằm tổ chức khai thác và sử dụng có hiệu quả các nguồn tài nguyên thông tin rất phong phú và tiềm năng trong mọi lĩnh vực hoạt động của con người và xã hội. 1.3. Hệ đếm và các hệ đếm thường dùng trong tin học 1.3.1. Hệ đếm cơ số a Một số ở hệ đếm cơ số a được biểu diễn dưới dạng sau: bn-1bn-2bn-3 b1b0b-1b-2 b-m Trong đó: a có thể là 2, 8, 10 , 16 và bi = 0  (a-1) Với số nguyên bn-1bn-2bn-3 b1b0 thì -b n-1 là số có trọng số cao nhất (trọng số n-1 – số nhiều ý nghĩa nhất) -b 0 là số có trọng số thấp nhất (trọng số 0 – số ít ý nghĩa nhất) Ví dụ, một số ở hệ cơ số 10 (a = 10, bi = 0  9): 19072.4358 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 10 -
  11. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Có b4 = 1, b3 = 9, b2 = 0, b1 = 7, b0 = 2, b-1 = 4, b-2 = 3, b- 3 = 5, b-4 = 8. Trong thưc tế chúng ta thường sử dụng các số - Hệ cơ số 2 (số nhị phân): có a = 2, bi = 0  1 cuối chữ số có kèm theo chữ b/B, ví dụ 01000001b hay 01000001B hoặc có (2), ví dụ: 01000001(2) - Hệ cơ số 8 (số bát phân): có a = 8, bi = 0  7. cuối chữ số có (2), ví dụ: 126(8) - Hệ cơ số 10 (số thập phân): có a = 10, bi = 0  9. Số hệ 10 viết bình thường. - Hệ cơ số 16 (số thập lục phân): có a = 16, bi = 0  15. Số hệ 16 còn gọi là số hệ hex, các chữ số b i là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Trong đó: A biểu diễn cho giá trị chữ số bằng 10 B biểu diễn cho giá trị chữ số bằng 11 C biểu diễn cho giá trị chữ số bằng 12 D biểu diễn cho giá trị chữ số bằng 13 E biểu diễn cho giá trị chữ số bằng 14 F biểu diễn cho giá trị chữ số bằng 15 cuối chữ số có kèm theo chữ h/H, ví dụ 2A7DFh hay 2A7DFH hoặc có (16), ví dụ: 2A7DF(16) Ta có công thức đổi một số ở hệ cơ số a bất kỳ về hệ 10 như sau: bn-1bn-2bn-3 b1b0b-1b-2 b-m n-1 n-2 n-3 1 0 = bn-1 x a + bn-2 x a + bn-3 x a + + b1 x a + b0 x a + -1 -2 -m b-1 x a + b-2 x a + +b-m x a (1) Ví dụ: Số hệ 10: 103.75 = 1 x 102 + 0 x 101 + 3 x 100 + 7 x 10-1 + 5x 10-2 Số hệ 2: 01000001 = 0 + 26 + 0 + 0 + 0 + 0 + 0 + 20 = 64 + 1 = 65 Số hệ 16: 1A2h = 1 x 162 + 10 x 161 + 2 x 160 = 256 + 160 + 2 = 418. 1.3.2. Phương pháp đổi một số ở hệ cơ số 10 về hệ cơ số a bất kỳ: Cho số N = N0.M0 ở hệ cơ số 10, yêu cầu đổi N về hệ cơ số a. Ta thực hiện theo ba bước sau Bước 1: Đổi phần nguyên N0 của số N hệ 10 về hệ cơ số a GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 11 -
  12. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 1. Lấy N0 chia cho a (cơ số), ta được số dư là b0, và thương số là N1. 2. Nếu N1 0, ta lại lấy N1 chia cho a, ta được số dư là b1 và thương là N2 3. Nếu N2 0, ta lại lấy N2 chia cho a, ta được số dư là b2 và thương là N3 4. Lặp đi lặp lại các mục 2, 3 cho đến khi thương số = 0 thì dừng lại (phép chia có số hiệu n-1, tức được số dư bn-1) 5. Xếp các số dư theo thứ tự b n-1bn-2bn-3 b1b0 đây chính là số ở hệ cơ số a có giá trị bằng N0. Bước 2: Đổi phần lẻ thập phân M 0 của số N hệ 10 về phần lẻ sau dấu chấm (phảy) của hệ cơ số a 1. Lấy 0.M0 nhân với a (cơ số), ta được số b-1. M1 2. Ta lại lấy 0.M1 nhân với a , ta được số b-2. M2 3. Ta lại lấy 0.M2 nhân với a , ta được số b-3. M3 4. Lặp đi lặp lại các mục 2, 3 cho đến khi 0.Mm = 0 thì dừng lại (phép nhân có số hiệu m, tức được số b-m.0) 5. Xếp các số nguyên theo thứ tự 0. b-1b-2 b-m đây chính là số phần lẻ sau dấu chấm (phảy) của hệ cơ số a có giá trị bằng 0.M0. Bước 3: Thực hiện ghép kết quả bước 1 và 2, ta được kết quả số N đã đổi về hệ cơ số a là bn-1bn-2bn-3 b1b0b-1b-2 b-m Ví dụ: 1. Đổi số nguyên 34 sang số hệ hai ta thực hiện như sau: 34 2 b0 =0 17 2 b1 =1 8 2 b2 =0 4 2 b =0 3 2 2 b4 =0 1 2 b5 =1 0 (Thương = 0 thì dừng) Các số dư trong khung sẽ được sắp xếp theo chiều mũi tên. Ta có kết quả là: 34 = 100010b (=b5b4b3b2b1b0). 2. Đổi số 34.125 ra số hệ hai Bước 1: Đổi phần nguyên ra số nhị phân, ta được 34 = 100010b Bước 2: Đổi phần lẻ thập phân ra phần lẻ sau dấu chấm nhị phân, ta có: GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 12 -
  13. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 0.125 x 2 = 0 .250 (b-1 = 0) 0.250 x 2 = 0 .500 (b-2 = 0) 0.500 x2 = 1 .000 (b-3 = 1) Kết quả ta thu được số nhị phân: 0.125 = 0.001b (=0.b-1b-2b-3) (như thứ tự phần đóng khung theo chiều mũi tên) Bước 3: Ghép kết quả bước 1 và 2 ta có kết quả dụ đổi số 34.125 ra số nhị phân như sau: 34.125 = 100010.001b 3. Đổi số 34.9 ra số hệ hai Bước 1: Đổi phần nguyên ra số nhị phân, ta được 34 = 100010b Bước 2: Đổi phần lẻ thập phân ra phần lẻ sau dấu chấm nhị phân, ta có: 1) 0.9 x 2 = 1 .8 (b-1 = 1) 2) 0.8 x 2 = 1 .6 (b-2 = 1) 3) 0.6 x 2 = 1 .2 (b-3 = 1) 4) 0.2 x 2 = 0 .4 (b-4 = 0) 5) 0.4 x 2 = 0 .8 (b-5 = 0) Kết quả của các phép nhân sẽ lặp đi lặp lại theo các lần từ 1) đến 5), như vậy ta được phần lẻ nhị phân lặp vô tận tuần hoàn như sau: 0.9 = 0.11100110011001100 b (như thứ tự phần đóng khung theo chiều mũi tên) Bước 3: Ghép kết quả bước 1 và 2 ta có kết quả dụ đổi số 34.9 ra số nhị phân như sau: 34.125 = 100010. 11100110011001100 b 4. Đổi số 1134 ra số biểu diễn ở hệ 16 : 1134 16 b0 =14 70 16 b1 =6 4 16 b2 =4 0 (Thương = 0 thì dừng) Theo phép chia trên, ta có b0 = 14 = Eh, như vậy ta có kết quả : 1134 = 46Eh 5. Đổi 46Eh về hệ 10 : 46Eh = 4 x 162 + 6 x 161 + 14 x 160 = 4 x 256 + 96 + 14 = 1024 + 110 = 1134 Chú ý: Trong thực tế khi chuyển đổi một số hệ 10 về một số biểu diễn ở hệ cơ số a bất kỳ (a=2, 8, 16), để thực hiện nhanh ta nên thực hiện theo trình tự đổi như sau: GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 13 -
  14. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Hệ 10 Hệ 16 Hệ 2 Hệ 8 Cụ thể là ta muốn đổi một số hệ 10 về hệ 2, trước hết ta nên đổi về hệ 16 (thực hiện các phép chia cho 16) rồi từ hệ 16 đổi về hệ 2. Làm như vậy ta giảm được rất nhiều phép chia, thời gian chuyển đổi nhanh hơn nhiều, tiết kiệm giấy mực, và đặc biệt ít nhầm lẫn hơn so với khi đặt các số dư của các phép chia cho 2 thành kết quả cuối cùng. Điều này càng có ý nghĩa khi số hệ 10 càng lớn. Ngược lại đổi một số hệ 2 về hệ 10 ta cũng nên đổi qua hệ 16 rồi từ hệ 16 ta chuyển về hệ 10, điều này giảm được cho ta nhiều phép nhân. Để thực hiện được việc chuyển đổi như trên, ta cần sự hỗ trợ của bảng biểu diễn số ở các hệ cơ số khác nhau dưới đây: Số hệ 10 Số hệ 2 Số hệ 16 Số hệ 8 0 0000b 0 0 1 0001b 1 1 2 0010b 2 3 3 0011b 3 3 4 0100b 4 5 5 0101b 5 5 6 0110b 6 6 7 0111b 7 7 8 1000b 8 9 1001b 9 10 1010b A 11 1011b B 12 1100b C 13 1101b D 14 1110b E 15 1111b F B¶ng 1.1. Số trong các hệ cơ số Trong bảng này, ta nhận thấy: - Số ở hệ cơ số 8 được biểu diễn no đủ bởi số nhị phân 3 bit (7 = 111b). - Số ở hệ cơ số 6 được biểu diễn no đủ bởi số nhị phân 4 bit (0Ah = 1111b). Ví dụ: 1. Đổi số 1134 về số hệ 2 và hệ 8 Để thực hiện việc chuyển đổi này, đầu tiên ta đổi số 1134 về hệ 16 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 14 -
  15. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 1134 = 46Eh (xem ví dụ 4 mục 1.3.2) Căn cứ vào bảng 1.1 ta biểu diễn mỗi chữ số ở hệ 16 ở dạng hệ 2 bởi no đủ 4 bit nhị phân, ta được kết quả như sau: 46Eh = 010001101110b = 10001101110b Để chuyển số 10001101110b về hệ 8, ta nhóm 3 bit một theo thứ tự từ phải qua trái (từ bit có trọng số thấp nhất về phía bit có trọng số cao nhất) và đổi giá trị các nhóm số đó về chữ số ở hệ 8, ta được số hệ 8 như sau: 10001101110b = 3156(8) Nhận xét: Để đổi 1134 về hệ 2, ta mất 11 phép chia so với về hệ 16 chỉ mất 3 phép chia, đặc biệt khi lấy kết quả bằng cách chép lại các số dư với 11 số 0/1 rất dễ bị nhầm lẫn. 2. Đổi số 10001101110b về hệ 10 Trước hết ta đổi số nhịphân về hệ 16, bằng cách nhóm 4 bit theo thứ tự từ phải qua trái (từ bit có trọng số thấp nhất về phía bit có trọng số cao nhất) và đổi giá trị các nhóm số đó về chữ số ở hệ 16, ta được số hệ 16 như sau: 10001101110b = 46Eh Cuối cùng: 46Eh = 4 x 162 + 6 x 161 + 14 x 160 = 4 x 256 + 96 + 14 = 1024 + 110 = 1134 1.3.3. Các phép toán số học với số hệ hai a. Phép cộng Phép cộng các số hệ hai giống như khi ta thực hiện với số hệ mười. Quy tắc phép cộng số hệ 2 được chỉ ra trong B¶ng 1.1. B¶ng 1.2. y = a + b A B Y Nhớ 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 B¶ng 1.3. mở rộng từ bảng 1.2 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 15 -
  16. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) B¶ng 1.3. y = a + b + c + d + e + f + g a b C D e f G y Nhớ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 2 0 0 1 1 1 1 1 1 2 1 0 1 1 1 1 1 0 3 1 1 1 1 1 1 1 1 3 Nhận xét: theo bảng 1.3 ta thấy kết quả tổng chia cho 2 (cơ số a = 2), được thương số là giá trị cần nhớ, còn phần dư chính là y. Như vậy cách thực hiện không khác gì với số hệ mười, ví dụ ta cộng nhiều số thập phân được giá trị là 49, ta lấy 49 chia cho 10 (cơ số hệ đếm thập phân), được 4 dư 9, viết 9 và nhớ 4. Giá trị nhớ sẽ được dùng để cộng với cột bit ở vị trí tiếp theo. B¶ng 1.2. chính là cách mà các bộ cộng trong các khối tính toán số học của máy tính thực hiện. Tóm lại: Để thực hiện phép cộng các số ở hệ cơ số a bất kỳ ta thực hiện như sau: 1. Lần lượt cộng các cột số, bắt đầu từ cột vị trí có trọng số thấp nhất ta được tổng cột, lấy tổng cột chia cho cơ số - Được thương số – chính là số nhớ - Được số dư – chính là kết quả viết cho cộng cột 2. Lấy số nhớ cộng với các số ở cột có trọng số cao hơn liền kề, được tổng cột, ta lại lấy tổng chia cho cơ số - Được thương số – chính là số nhớ - Được số dư – chính là kết quả viết cho tổng cột vừa cộng 3. Quá trình cộng và chia, cứ lặp đi lặp lại cho đến khi tổng cột < cơ số và mọi chữ số của cột tiếp theo là không có nghĩa thì dừng. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 16 -
  17. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Ví dụ, cộng nhiều số thập phân, đầu tiên cộng cột hàng đơn vị như sau: Giá trị nhớ: 40 Tổng cột Cơ số a = 10 (cộng số hệ 10) 1979 10 1187 49 + 677 9 4 129 Thương số là số nhớ 5679 Số dư là số ghi sang cột tiếp theo 458 kết quả cộng tại 9 cột hiện thời Ta được giá trị là 49, lấy 49 chia cho 10 (cơ số hệ đếm thập phân), được 4 dư 9, viết 9 và nhớ 4. Giá trị nhớ sẽ được dùng để cộng với cột ở vị trí tiếp theo ngay sau đó. Ví dụ, tương tự ở hệ 2, cộng nhiều số nhị phân 8 bit, đầu tiên cộng các số nhị phân ở cột có trọng số là 0, ta có tổng là 5, chia cho 2 được 2 (nhớ 2), dư 1 (viết kết quả cộng cột là 1). Tương tự ta cộng các cột tiếp theo như sau: Giá trị nhớ: 134555432 Tổng cột Cơ số a = 2 (cộng số hệ 2) 01111011 2 11001111 5 + 10111111 1 2 00111101 Thương số là số nhớ 01111111 Số dư là số ghi sang cột tiếp theo 01111110 kết quả cộng tại 1101000011 cột hiện thời Bảng 2.1 chính là cách mà các bộ cộng trong các khối tính toán số học của máy tính thực hiện. b. Phép trừ và số bù 2 b1. Phép trừ Phép trừ các số hệ 2 giống như làm với số hệ 10. Bảng 1.4 là qui tắc thực hiện phép trừ số nhị phân. B¶ng 1.4. Qui tắc trừ số nhị phân y = a - b A b Y Mượn 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 b2. Số bù 2 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 17 -
  18. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Trong máy tính không có bộ trừ, chỉ có bộ cộng (mạch thực hiện phép cộng). Do vậy phép toán A – B = A + (-B) Trong thực tế, việc thực hiện phép trừ chính là cộng số bị trừ với số đảo dấu của số trừ, điều này cũng được ứng dụng trong các khối tính toán số học của máy tính để tận dụng các bộ cộng đã có sẵn. Vậy số đảo dấu của số trừ chính là một số âm. Khi thực hiện phép trừ trong máy tính cũng tất yếu sẽ có kết quả là một số âm. Vấn đề đặt ra đối với số hệ hai là ta phải biểu diễn số âm nhị phân như thế nào sao cho thích hợp để đáp ứng được việc sử dụng các bộ cộng trong máy tính. Việc sử dụng số bù 2 chính là cách biểu diễn số có dấu trong máy tính ngày nay. Vậy số bù 2 của số A là số đảo dấu của chính số A đó. Ví dụ số bù 2 của 5 là -5 và ngược lại, số bù 2 của –5 là 5. Sau đây là phương pháp xây dựng số bù 2: - Trước hết ta xây dựng số bù 1 của A. Số bù một của A chính là số nhận được khi ta đảo tất cả các bit của số A. Ví dụ 5 = 00000101b, số bù 1 của 5 là 11111010b - Số bù 2 của A = số bù 1 của A + 1 Ví dụ: số bù 2 của 5 = số bù 1 của 5 + 1 = 11111010b + 1 = 11111011b = -5 B¶ng 1.5. Biểu diễn các số theo số hệ 10 - số hệ hai không dấu và số bù 2 Số hệ hai 8 bit Giá trị số hệ 2 Giá trị số bù 2 không dấu tương ứng 0000 0000 0 0 0000 0001 1 +1 0000 0010 2 +2 0111 1101 125 +125 0111 1110 126 +126 0111 1111 127 +127 1000 0000 128 -128 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 18 -
  19. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 1000 0001 129 -127 1000 0010 130 -126 1111 1101 253 -3 1111 1110 254 -2 1111 1111 255 -1 Nhận xét: Với số 8 bit, b7 = 1 cho ta số âm, b7 = 0 cho ta số dương c. Phép nhân Phép nhân số hệ hai thực hiện giống như ta làm với số hệ mười. Chỉ cần chú ý khi cộng kết quả tuân thủ theo B¶ng 1.2. qui tắc cộng mở rộng. Qui tắc thực hiện phép nhân hệ 2 được chỉ ra trong bảng 1.6. B¶ng 1.6. Qui tắc thực hiện phép nhân y = a x b a B Y 0 0 0 0 1 0 1 0 0 1 1 1 Trên cơ sở quy tắc vừa nêu và để đơn giản ta thực hiện ví dụ một phép nhân 2 số hệ 2 với độ dài 4 bit để làm sáng tỏ thuật toán nhân thực hiện trong máy tính. 1001b Số bị nhân = 9 x 0110b Số nhân = 6 0000 Thành phần 1 của tổng tích lũy 1001 Thành phần 2 của tổng tích lũy 1001 Thành phần 3 của tổng tích lũy 0000 Thành phần 4 của tổng tích lũy 0110110b Tổng tích lũy bằng 54 Độ dài cực đại của kết quả trong trường hợp này là 8 bit. Nếu ta nhân các số 8 bit (hoặc 16) bit thì độ dài cực đại của kết quả là 16 bit (hoặc 32 bit). Mỗi lần nhân một bit khác 0 của số nhân với số bị nhân, ta thu được chính số bị nhân, nếu dịch trái nó một số lần tương ứng với vị trí các bit khác 0, ta tạo ra 1 thành phần của tổng tích lũy. Tổng của các thành phần như trên là kết quả của phép nhân. Phân tích quá trình trên, ta thấy phép nhân có thể thực hiện theo thuật toán cộng và dịch như sau: - Thành phần đầu tiên của tổng tích lũy thu được là tích của LSB trong số nhân với số bị nhân. Nếu LSB = 0 thì thành phần này bằng 0, Nếu LSB = 1 thì thành phần này = chính số bị nhân. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 19 -
  20. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Mỗi thành phần thứ i tiếp theo của tổng tích lũy sẽ tính được bằng cách tương tự, nhưng phải dịch trái đi i bit (có thể bỏ qua các thành phần = 0) - Tổng của các thành phần là tích cần tìm. Để minh họa thuật toán trên, ta dùng luôn nó để rút gọn ví dụ đã làm ở trên: 1001b Số bị nhân = 9 x 0110b Số nhân = 6 1001 Số bị nhân dịch trái 1 lần 1001 Số bị nhân dịch trái 2 lần 0110110b Tổng tích lũy bằng 54 Trong máy tính, phép nhân được thực hiện bởi bộ cộng và bộ dịch trái theo như thuật toán cộng và dịch vừa trình bày. d. Phép chia Phép chia là phép tính ngược của phép nhân. Từ đó suy ra phép chia có thể thực hiện bằng các phép trè và phép dịch liên tiếp cho tới khi không thể trừ được nữa (do không còn gì để trừ hoặc số bị trừ nhỏ hơn số chia). Sau đây là thuật toán thực hiện phép chia thông qua ví dụ cụ thể: Ví dụ: 35/7 = 7 Ta hãy quan sát kỹ các bước phải thực hiện khi thực hiện phép chia bằng tay 100011 101 000 0111 1000 101 0111 101 0101 101 000 Trong các phép tính ở trên ta liên tục cần phải dự đoán và kiểm tra để tìm ra kết quả đúng. Công việc này rất khó khăn với các mạch điện tử của khối tính toán số học (vốn là các phần tử để thực hiện phép cộng và dịch trong máy tính). Sau đây là một thuật toán khắc phục nhược điểm trên nêu trên, trong máy tính: - Nếu số chia là 1 byte, thì số bị chia phải là 2 byte, do vậy khi số bị chia là 1 byte ta phải mở rộng bit dấu cho số bị chia lên 8 bit cao. - Nếu số chia là 2 byte, thì số bị chia phải là 4 byte, do vậy số bị chia là 1 word ta phải mở rộng bit dấu cho số bị chia lên 16 bit cao. 1. Kiểm tra số bị chia, mở rộng bit dấu nếu cần 2. Đổi số chia ra số bù 2 của nó (để bước tiếp theo làm phép cộng với số bị chia thay cho phép trừ). K = số bù 2 của số chia dịch trái đi 8 bit (nếu số chia là số 8 bit) hoặc 16 bit nếu số chia là số 16 bit. Q = số bị chia 3. H = Q + K. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 20 -
  21. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Nếu H có MSB = 0 (có nghĩa là phần này của số bị chia chia được cho số chia) thì bit tương ứng của thương bằng 1. Q = H - Nếu kết quả này có MSB = 1 (có nghĩa là phần này của số bị chia không chia được cho số chia) thì bit tương ứng của thương bằng 0. 4. Số K = số K dịch phải đi 1 bit, và làm lại bước 3 cho đến khi nhận được H = 0 (chia hết) hoặc H số chia (chia còn dư). 5. Kết quả của thương số là các bit 0, 1 ghép theo trình tự các bit tương ứng của thương. Ví dụ: 103/6 = 17 dư 1. Thực hiện phép chia này ở hệ 2 theo thuật trên. Ta có: Số chia = 00000110b Số bù 2 của số chia = 11111010b Số bị chia = 01100111b = 0000000001100111b (mở rộng bit dấu) Thuật toán chia số nhị phân số 103/6: Tên toán hạng, thao tác Giá trị Thương Q = Số bị chia 0000000001100111 K = Số bù 2 của số chia > 1 bit (giữ nguyên bit dấu) 1111110100000000 H = Q + K 1111110111100111 0 Q 0000000001100111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111010000000 H = Q + K 1111111011100111 0 Q 0000000001100111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111101000000 H = Q + K 1111111110100111 0 Q 0000000001100111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111110100000 H = Q + K > 6 0000000000000111 1 Q = H 0000000000000111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111111010000 H = Q + K 1111111111010111 0 Q 0000000000000111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111111101000 H = Q + K 1111111111101011 0 Q 0000000000000111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111111110100 H = Q + K 1111111111111011 0 Q 0000000000000111 K = K >> 1 bit (giữ nguyên bit dấu) 1111111111111010 H = Q + K < 6 0000000000000001 1 Vậy ta có kết quả = 10001b = 17, số dư H = 1 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 21 -
  22. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 1.3.4. Biểu diển dữ liệu trong máy tính Trong máy tính, mọi dữ liệu đều được biểu diễn (mã hóa) bởi số nhị phân. a. Số nhị phân Số nhị phân hay còn gọi là số hệ hai là hệ đếm dùng trong máy tính. Một số hệ hai gồm các bit được đánh dấu bằng chữ B hoặc b đi kèm ở cuối để phân biệt với các hệ khác khi ta làm việc cùng một lúc với các hệ đếm khác nhau. Một cụm 4 bit sẽ tạo thành 1 nibble, một cụm 8 bit tạo thành 1 byte, một cụm 16 bit tạo thành 1 word (một từ), một cụm 32 bit tạo thành 1 double word (từ kép). Chữ số đầu tiên bên trái trong dãy các số hệ hai 8, 16 hoặc 32 bit gọi là MSB MSB (Most significant bit) - bit có ý nghĩa lớn nhất Còn bit cuối cùng bên phải (bit 0) trong dãy gọi là LSB LSB (Least significant bit) - bit có ý nghĩa bé nhất. 3 0 nibble 7 0 Byte MSB 15 0 LSB Word 31 0 Double Word Hình 1.1. Các đơn vị đo độ dài của số hệ hai dẫn xuất từ bit b. Biểu diễn số trong máy tính b1. Biểu diễn số nguyên Phần cứng của máy tính cần giới hạn độ lớn của một số để có thể lưu nó trong các thanh ghi hay các ô nhớ. Do vậy các số nguyên được chia thành các số 8 bit, 16 bit, 32 bit, 64 tương ứng chúng có MSB là bit 7, 15, 31, 63 và MSB đều là bit 0. * Số nguyên không dấu Số nguyên không dấu (unsigned integer) biểu diễn các số nguyên dương. Số nguyên không dấu rất thích hợp để biểu diễn các đại lượng luôn dương, chẳng hạn địa chỉ của ô nhớ, bộ đếm hay, mã ASCII của ký tự (chúng ta sẽ thấy sau này). Bởi vì các số nguyên không dấu được định nghĩa là các số nguyên dương, nên không cần dùng bit nào để biểu diễn bit dấu, do đó 8 bit của một byte hay 16 bit của một word đều được dùng để biểu diễn giá trị. - Số nguyên không dấu lớn nhất có thể chứa trong một byte là: 11111111b = FFh = 255. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 22 -
  23. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Số nguyên không dấu lớn nhất có thể chứa trong một word là: 1111111111111111b = FFFFh = 65535. Chú ý rằng LSB = 1 thì số nguyên là số lẻ và ngược lại nó là số chẵn * Số nguyên có dấu (còn gọi là số bù 2) Số nguyên có dấu (signed integer) có thể là số dương hoặc âm. MSB được dùng để biểu diễn dấu của số. MSB = 1 cho biết đó là số âm MSB = 0 cho biết đó là số dương. Các số nguyên có dấu được lưu trữ trong máy tính dưới dạng số bù 2. Một ưu điểm của việc biểu diễn số âm trong máy tính bằng số bù 2 là phép trừ có thể thực hiện bằng phương pháp lấy bù và phép cộng, các vi mạch thực hiện phép cộng và bù các bit được con người thiết kế tương đối dễ dàng. b2. Biểu diễn số thực Trong máy tính các số thực được biểu diễn và được viết dưới dạng dấu phảy động (dạng có phần số mũ). Còn trong thực tế con người biểu diễn số thực ở 2 dạng: - Dạng bình thường: 3.14, 3.0, -24.1234567, - 0.0002 Việc dùng dấu chấm trong cách viết số thực là cách viết của các nước Anh, Mỹ. - Dạng viết có phần mũ. Để hiện thị được ra màn hình một số thực dạng bình thường hay dạng viết dấu phảy động, phải thông qua giả lập bằng phần mềm. * Các dạng số dấu chấm (phảy) động: Dạng biểu diễn dấu phảy động, mỗi số được biểu diễn bằng 2 phần: - Phần định trị (mantissa) chứa các bit của số - Phần mũ (exponent) dùng để điều chỉnh lại vị trí của dấu phảy nhị phân trong số đó. Ví dụ : số thập phân 2.5 biểu diễn dạng nhị phân là 10.1b = 1.01 x 21 Vậy biểu diến dấu phảy động của 2.5 trong máy tính là 1.01 x 21, có : - Phần định trị là 1,01 - Phần mũ là 1 Đối với các số khác 0, phần định trị luôn là một trị số >1 và < 2. Phần định trị như vậy được gọi là phần định trị đã được chuẩn hóa Đối với các số < 1, nếu chúng ta chuẩn hóa phần định trị thì phần mũ của chúng sẽ âm. chẳng hạn số 0,0001b có dạng biểu diễn dấu phảy động là 1*2-4. Vì phần mũ âm không được biểu diễn như số có dấu, nên với tất cả các số phần mũ sẽ được tính lại thông qua số có tên gọi là bias. bias sẽ được cộng thêm vào để tạo ra phần mũ là một số dương. Ví dụ nếu ta chọn 8 bits cho phần mũ thì số 27-1 = 127 sẽ được chọn làm bias. Trong máy tính thường có các dạng số dấu chấm động (theo chuẩn IEEE 754-1985) sau : Short real – dùng 4 byte để lưu trữ, 1 bit dấu, 8 bit phần mũ, 23 bit phần định trị (không chứa phần nguyên của phần định trị). Bias = 127. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 23 -
  24. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Long real – dùng 8 byte để lưu trữ, 1 bit dấu, 11 bit phần mũ, 52 bit phần định trị (không chứa phần nguyên của phần định trị). Bias = 1023. Temporary real – dùng 10 byte để lưu trữ, 1 bit dấu, 15 bit phần mũ, 64 bit phần định trị (không chứa phần nguyên của phần định trị). Bias = 16383. Ta xem cụ thể một loại số chấm động kiểu short real sau để thấy rõ. * Số dấu chấm (phảy) động kiểu short real Để biểu diễn số 0,0001b chúng ta có phần định trị là 1 và phần mũ là -4, Sau khi cộng thêm 127, chúng ta nhận được phần mũ là 123 = 01111011b Hình sau mô tả sắp xếp của một dấu phảy động 32 bits, trong đó S là một bit dấu, exponent (phần mũ) chiếm 8 bits, mantissa (phần định trị) chiếm 23 bits 31 30 23 22 0 S Exponent Mantissa Hình 1.2. Biểu diễn số dấu chấm (phảy) động 32 bit trong máy tính Ví dụ biểu diễn số 4,9 ở dạng dấu phảy động 32 bit (short real): áp dụng cách biểu diễn số dấu chấm động ở hình 1.1, chúng ta có: 4.9 = 100.1110011001100 b = 1.001110011001100 x 22b Sau khi chuẩn hóa ta có phần định trị là: 1.00111001100110011001100 và phần mũ là 2. Cộng thêm bias vào phần mũ, ta nhận được 129 = 10000001b. Do phần nguyên trong phần định trị không được lưu nên ta được số biểu diễn trên máy cho giá trị 4.9 là (số dương nên S = 0): 0 10000001 00111001100110011001100b hay bằng 409CCCCCh Ví dụ biểu diễn số -0.75 ở dạng dấu phảy động 32 bit (short real): Chúng ta có biểu diễn nhị phân của 0.75 = 0.11b, do đó –0.75 = -0.11b = -1.1b x 2-1 = (-1)1 1.1b x 2-1 Phần định trị sẽ được chuẩn hóa bằng 1.10000000000000000000000b Phần mũ là -1, cộng với bias = 127, ta được phần mũ là 126 = 01111110b S = -1 (số âm) Phần nguyên không được lưu nên ta có dạng short real của -0.75 là 1 01111110 10000000000000000000000b hay bằng BF400000h c. Biểu diễn ký tự Không phải mọi số liệu mà máy tính xử lý đều là các con số. Các thiết bị ngoại vi như màn hình hay máy in đều có xu hướng làm việc với các ký tự. Ngoài ra các chương trình như chương trình xử lý văn bản chuyên làm việc với dữ liệu kiểu ký tự. Cũng như tất cả các dữ liệu khác, các ký tự cũng cần phải được mã hóa dưới dạng dạng nhị phân để máy tính có thể xử lý chúng. Một kiểu mã hóa thông dụng nhất cho các ký tự đó là mã ASCII (American Standard Code For Infermation Interchange – Mã chuẩn của Mỹ dùng để trao đổi thông tin). Trước đây mã ASCII được sử dụng trong GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 24 -
  25. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) thông tin với các thiết bị teletype, ngày nay mã ASCII được sử dụng trên tất cả các máy tính cá nhân. c1. Mã một byte Hệ thống mã ASCII (American Standard Code for Information Interchange) trước đây sử dụng 7 bit để mã hóa cho một ký tự, đo đó có tổng cộng 2 7 = 128 mã ASCII. Bảng 1.7 trình bày các mã ASCII và các ký tự tương ứng với chúng. Chú ý rằng chỉ có 95 ký tự ứng với 95 mã ASCII từ 32  126 là có khả năng hiển thị (in được), các mã từ 0  31 và mã 127 được dùng đến với các mục đích điều khiển quá trình truyền thông, do đó không có khả năng in được. Hầu hết các máy vi tính chỉ sử dụng các ký tự in được và một số ký tự điều khiển như CR (về đầu dòng), LF (xuống dòng), HT (Tab), BS (xóa lùi), BEL (Đưa tiếng bip ra loa). Vì mỗi ký tự ASCII được mã hóa bằng 7 bit nên mã của một ký tự chứa vừa vặn trong một byte với MSB = 0. Các ký tự in được có thể hiển thị ra màn hình hoặc ra máy in, trong khi đó các ký tự điều khiển lại dùng để điều khiển các thiết bị này. Ví dụ để hiển thị ký tự A trên màn hình, chương trình sẽ gửi mã ASCII 41h đến màn hình, còn để lùi con trỏ trở lại đầu dòng, chương trình sẽ gửi mã ASCII có giá trị 13 (0Dh – mã ASCII của ký tự điều khiển CR) đến màn hình. Ngoài ra máy tính cũng hiển thị một số ký tự đặc biệt ứng với một số mã ASCII không in được. Như ta sẽ thấy bộ điều khiển màn hình của IBM PC có thể hiển thị một bộ ký tự với mã ASCII mở rộng 256 ký tự (bảng 1.8) Sử dụng tiếng việt có dấu với mã 1 byte, các chương trình hỗ trợ soạn thảo tiếng Việt như ABC2.0, VietKey2000 có sử dụng mã 15 - TCVN3 - ABC (tiêu chuẩn Việt Nam 3 – ABC) BẢNG Mà ASCII VỚI 128 KÝ TỰ ĐẦU. Hexa- 0 1 2 3 4 5 6 7 decimal 0 0 @ P ` p 0 16 32 48 64 80 96 112 1 ! 1 A Q a q 1 17 33 49 65 81 97 113 2 “ 2 B R b r 2 18 34 50 66 82 98 114 3  # 3 C S c s GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 25 -
  26. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 3 19 35 51 67 83 99 115 4  $ 4 D T d t 4 20 36 52 68 84 100 116 5 . % 5 E U e u 5 21 37 53 69 85 101 117 6  & 6 F V f v 6 22 38 54 70 86 102 118 7 ‘ 7 G W g w 7 23 39 55 71 87 103 119 8 ( 8 H X h x 8 24 40 56 72 88 104 120 9 ) 9 I Y i y 9 25 41 57 73 89 105 121 A * : J Z j z 10 26 42 58 74 90 106 122 B + ; K [ k { 11 27 43 59 75 91 107 123 C , - = M ] Mm } 13 29 45 61 77 93 109 125 E . > N ^ n ~ 14 30 46 62 78 94 110 126 F / ? O _ o 15 31 47 63 79 95 111 127 BẢNG Mà ASCII VỚI 128 KÝ TỰ NỬA SAU (Mà ASCII MỞ RỘNG). Hexa- 8 9 A B C D E F decimal 0 Ç É ¸ ≡ 128 144 160 176 192 208 224 112 1 Ü æ í β ± 129 145 161 177 193 209 225 241 2 Ð Æ ó  130 146 162 178 194 210 226 242 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 26 -
  27. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) 3  « ó 131 147 163 179 195 211 227 243 4 Ä ö Ñ   132 148 164 180 196 212 228 244 5 À ò Ñ   133 149 165 181 197 213 229 245 6 Å Û ª   134 150 166 182 198 214 230 246 7 Ç ù º  135 151 167 183 199 215 231 247 8 Ê Ÿ ¿  136 152 168 184 200 216 232 248 9 Ë Ö   137 153 169 185 201 217 233 249 A È Ü   138 154 170 186 202 218 234 250 B Ï ¢ ½  √ 139 155 171 187 203 219 235 251 C Î £ ¼  140 156 172 188 204 220 236 252 D Ì ¥ i  ² 141 157 173 189 205 221 237 253 E Ä « ■ 142 158 174 190 206 222 238 254 F Ă  »  143 159 175 191 207 223 239 255 c2. Mã hai byte Unicode là viết tắt của từ Universal Code, tức là bộ mã vạn năng, có thể dùng để mã hoá tất cả các ngôn ngữ chính trên toàn thế giới (trong đó có tiếng Việt), được dùng chủ yếu trong trao đổi hiển thị dữ liệu trong các hệ thống công nghệ thông tin. Unicode còn là cộng động của một số công ty hàng đầu trong lĩnh vực công nghệ thông tin như Microsoft, IBM, Sun được thành lập từ năm 1991 nhằm tạo ra một bộ mã dùng chung cho toàn thế giới. Song song với tổ chức Unicode còn có tổ chức ISO(Tổ chức chuẩn quốc tế chính thống) cũng nghiên cứu một bộ mã đa ngữ dùng trong CNTT là ISO /IEC 10646. Unicode và ISO từ năm 1993 đã thống nhất cùng nhau phát triển và đồng nhất 2 bộ mã ở miền 16-Bit. Unicode là bộ mã 16-Bit (có 65.536 ô mã) Các định dạng biến đổi tập kí tự Unicode (UTF-Unicode Transformation Format) thực hiện biến đổi mỗi giá trị Unicode thành một dãy giá trị mã duy nhất. Một UTF có thể xác định một thứ tự byte cho việc tuần tự hoá các giá trị mã trong byte. UTF cũng GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 27 -
  28. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) có thể xác định việc dùng dấu thứ tự byte. Unicode định nghĩa ra các định dạng biến đổi tập kí tự là UTF-8, UTF-16, UTF-16LE, UTF-16BE, UTF-32. Dạng mã hoá mặc định của chuẩn Unicode là 16-bit: các kí tự được gán một giá trị 16-bit duy nhất, ngoại trừ các kí tự được mã hoá bằng các thay thế bao gồm một cặp hai giá trị 16-bit. Dạng mã hoá 16-bit này chính là định dạng UTF-16. Trong UTF-16, các kí tự cho tới 65 535 được mã hoá thành các giá trị 16-bit; các kí tự trên 65535 được mã hoá thành các cặp giá trị 16-bit (thay thế). Sử dụng tiếng việt có dấu với mã 2 byte, chương trình hỗ trợ soạn thảo tiếng Việt như VietKey2000 có sử dụng mã 39 – VN Unicode 1 (Unicode Pre-Compound) 1.4. Phần cứng và phần mềm Các chương trình viết bằng ngôn ngữ máy (cấp 1) được thực thi trực tiếp bằng các mạch điện tử của máy tính, không có trình thông dịch và biên dịch nào can thiệp vào. Các mạch điện tử cùng với bộ nhớ và các thành phần xuất / nhập tạo nên phần cứng máy tính. Phần cứng máy tính (hardware) được hiểu như toàn bộ các thiết bị cơ khí, nhựa, linh kiện điện tử để cấu thành nên máy tính, bao gồm các mạch tích hợp, các board mạch in, cable, nguồn cung cấp, bộ nhớ, thiết bị đầu cuối, Nâng cao tốc độ xử lý, tăng dung lượng bộ nhớ, tăng độ tin cậy, giảm thể tích, giảm năng lượng tiêu hao, tăng khả năng ghép nối là những mục tiêu mà kĩ thuật hướng tới. Phần mềm máy tính (software) là thuật ngữ để chỉ toàn bộ các chương trình được cài đặt và chạy trên máy tính. Phần mềm được lưu giữ trong một số phần cứng như đĩa cứng, đĩa mềm, chíp, CD, băng từ "Có thể ví phần cứng là thể xác, phần mềm là linh hồn của máy tính". Phần mềm máy tính bao gồm các loại sau: - Phần mềm hệ thống: Là các chương trình có chức năng điều khiển, khai thác phần cứng để thực hiện yêu cầu của người sử dụng. Các chương trình do các nhà lập trình chuyên nghiệp cài đặt với chất lượng cao để điều hành toàn bộ hoạt động của MTĐT gọi chung là phần mềm hệ thống. Phần mềm hệ thống bao gồm hệ điều hành và chương trình cơ sở (firmware). + Firmware chính là thành phần bao gồm phần mềm được đặt vào bên trong các mạch điện tử trong quá trình sản xuất, nó được dùng khi chương trình không thay đổi hay hiếm khi phải thay đổi ví dụ như chương trình điều khiển đặt trong ROM BIOS. BIOS trong máy tính là đoạn mã chương trình để khởi động phần cứng máy tính và tìm hệ điều hành. + Hệ điều hành là phần mềm thực sự điều khiển các chức năng của máy tính. HĐH là phần mềm tích hợp tất cả hoạt động của máy tính và giao diện với phần mềm ứng dụng giúp người sử dụng có thể sử dụng máy tính như một công cụ. - Phần mềm tiện ích : Cung cấp cho người sử dụng các công cụ bảo vệ phần mềm. Một bộ tiện ích tốt phải có khả năng chuẩn đoán và điều trị các tranh chấp, lỗi hệ thống, giúp quản lý tập tin, chăm sóc, dọn dẹp đĩa cứng. Ví dụ của phần mềm tiện ích gồm có các phần mềm diệt vi rút, phần mềm dọn dẹp đĩa, khôi phục các thông tin bị xoá, sao chép dự phòng, phần mềm nén file - Phần mềm ứng dụng : Là các phần mềm chuyên môn hoá cho phép người sử dụng dùng máy tính như một công cụ cho một công việc cụ thể. Ví dụ phần mềm xử lý văn bản, bảng tính, hệ thống thông tin quản lý, thiết kế đồ hoạ, GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 28 -
  29. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Các ngôn ngữ lập trình: Là các phần mềm giúp con người có thể tạo ra những chương trình của họ. Đối với ba loại phần mềm trên người sử dụng chỉ biết thao tác, khai thác một cách thụ động còn với ngôn ngữ lập trình người sử dụng có thể viết ra các phần mềm của riệng mình thuộc vào một trong ba loại trên. ví dụ các ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao như PASCAL, C, các công cụ lập trình trong bộ Microsoft Visual Studio 1.5. Ứng dụng CNTT và sự phát triển của xã hội Tin học đã và đang được ứng dụng rất rộng rãi trong rất nhiều các lĩnh vực như: - Giải quyết các bài toán khoa học kĩ thuật: các bài toán phát sinh từ các lĩnh vực thiết kế kĩ thuật, xử lý các số liệu thực nghiệm quy hoạch và tối ưu hoá thường dẫn đến những khối lượng rất lớn tính toán số mà nếu ta không dùng máy tính ta không thể thực hiện được trong phạm vi thời gian cho phép. Những tiến bộ trong kĩ thuật tin học hiện nay cho phép nhà thiết kế không những có thể “tính” được phương án mà còn có thể thể hiện được các phương án đó một cách trực quan trên màn hình hoặc in ra giấy và trong chừng mực nhất định, ta có thể “sửa” các phương án thiết kế trực tiếp trên màn hình hiện ra trên màn hình. - Giải các bài toán quản lý: Mọi hoạt động của con người đều cần được quản lý. Các hoạt động quản lý rất đa dạng nhưng đều có một đặc điểm chung là thường liên quan đến và phải xử lý một khối lượng thông tin lưu trữ lớn (các hồ sơ, chứng từ ) nhưng quy trình xử lý nói chung là đơn giản. Cùng với một số phần mềm chuyên dụng như các hệ quản trị dữ liệu (Foxpro, Access ), máy tính là công cụ lao động xử lý thông tin đã trợ giúp đắc lực trong lĩnh vực này. Các bước khi ứng dụng tin học để quản lý: + Tổ chức lưu trữ các hồ sơ, chứng từ trên máy bao gồm cả việc sắp xếp dữ liệu, thông tin cần thiết một cách hợp lý để tiện dùng. + Xây dựng các chương trình tiện dụng làm các việc như cập nhật các hồ sơ, khai thác thông tin theo yêu cầu khác nhau: tìm kiếm, đưa ra danh sách các thông tin theo yêu cầu - Soạn thảo, in ấn, lưu trữ văn bản: Với sự trợ giúp của các chương trình xử lý văn bản, các phương tiện in ấn tin học đã tạo cho việc biên soạn các văn bản hành chính với bộ mặt hoàn toàn mới. Tin học tạo cho con người khả năng tổ chức các thông tin trên máy rất tiện lợi cho việc tra cứu và cập nhật. - Tự động hoá: bằng các kĩ thuật đo và truyền số liệu hiện đại cũng như các chương trình chuyên dụng được cài đặt thích hợp, qua trình điều khiển các thiét bị có thể giao phó cho các máy tính tự động thực hiện thay cho con người. - Các lĩnh vực thông minh (trí tuệ nhân tạo): Hiện nay các nhà tin học đang tập trung nghiên cứu việc tạo ra các máy có thể đảm đương một số hoạt động thuộc một số lĩnh vực trí tuệ của con người hoặc những hoạt động đặc thù của con người ( hiểu ngôn ngữ tự nhiên dưới dạng văn bản viết tay, nghe và hiểu tiếng nói). Các nghiên cứu này được xếp vào một lĩnh vực tên gọi là trí tuệ nhân tạo. - Tin học và Giáo dục & Đào tạo: Tin học là một thành tố quan trọng trong nền học vấn phổ thông nhằm hình thành và phát triển phẩm chất con người cho xã hội mới – xã hội thông tin. Tin học là một tiến bộ khoa học kĩ thuật, công cụ hiện đại thể hiện qua GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 29 -
  30. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) phương tiện được nhìn hiện đại giúp nâng cao chất lượng dạy và học. Hỗ trợ cho thầy giáo trong việc dạy: mở rộng kiến thức, trình bày bài giảng Giúp học sinh học tập một cách chủ động, làm việc theo khả năng của bản thân, phát huy khả năng sáng tạo thông qua hệ thống các bài tập và câu hỏi phong phú đa dạng. BÀI TẬP 1. Đổi các số nhị phân và số hex sau ra số thập phân: a. 1110b b. 100100111110b c. 46Ah d. FEA7Dh 2. Đổi các số thập phân sau ra số nhị phân và hex: 97, 629, 973, 1026. 3. Đổi các số nhị phân sau ra các số hệ10 và hex: a. 111001010101 b. 111001010101111001010101 c. 101000101101 d. 1011001101001101 4. Thực hiện phép cộng sau: a. 10010101b + 01110110b b. 111001010101111001010101b + 10010101b c. B23CDh + 9F7Eah d. FEEFCh + ABCDEh 5. Thực hiện các phép trừ sau: a. 10010101b - 01110110b b. 111001010101111001010101b - 10010101b c. B23CDh - 9F7Eah d. FEEFCh - ABCDEh 6. Đổi các số nguyên thập phân sau ra số hex 16 bit: 234, -16, -32216, 31634, 7899, 65356. 7. Thực hiện phép trừ các số nhị phân và số hex dưới đây bằng cách cộng với số bù 2 của số trừ: a. 10010101b - 01110110b b. 111001010101111001010101b - 10010101b c. B23CDh - 9F7Eah d. FEEFCh - ABCDEh 8. Đổi các số hệ hex sau ra số thập phân có dấu và không dấu: a. 7FFEh b. 8543h c. FEh d. 7Fh 9. Đổi số -120 ra số nhị phân 16 bit và số nhị phân 8 bit. 10. Cho biết các số thập phân sau, có thể lưu được hay không trong (a) như một số 16 bit; (b) như một số 8 bit a. 32767 b. -40000 c. 65536 d. 257 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 30 -
  31. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) e. -128 11. Cho biết các số có dấu sau, số nào là âm hay dương: a. 1010101010100010b b. 789Ah c. F765h d. 897Fh e. 9DCBh 12. Giả sử chuỗi “S12.75” đang lưu trong bộ nhớ bắt đầu tại địa chỉ 0, cho biết nội dung của các byte từ 0 đến 5 dưới dạng số hex. 13. Hãy dịch thông điệp đã mã hóa dưới dạng mã ASCII (Số Hệ 16) sau đây: 41 74 74 61 63 6B 20 61 77 6E 14. Giả sử một byte có mã ASCII của một chữ hoa, hỏi phải cộng thêm một số hex là bao nhiêu để đổi nó thành chữ thường. 15. Giả sử một byte có mã ASCII của một chữ số thập phân từ 0 đến 9, hỏi phải trừ đi một số hex là bao nhiêu để đổi nó thành chứa chính chữ số đó. 16. Sử dụng thuật toán chia số nhị phân để thực hiện phép chia sau: a. 31576 / 243 b. 70576 / 23041 c. 164 / 81 17. Đổi các số thập phân sau ra số dấu chấm động 32 bit trên máy tính: 1032.0625, -0.03125, +129.9, - 129.8 Bài 2. Cấu trúc tổng quan về máy tính 2.1. Kiến trúc chung của máy tính Quá trình xử lý thông tin của một hệ xử lý thông tin bất kỳ nào cũng gồm có 4 bước chính: - Thu nhận thông tin (Receive input) - Xử lý thông tin (process information) - Xuất thông tin (produce output) - Lưu trữ thông tin (store information) Máy tính thực chất là công cụ để giúp con người xử lý thông tin, do vậy tổng quan về máy tính cũng được chia ra các thành phần tương ứng với các bước xử lý thông tin đó: GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 31 -
  32. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Thiếp bị nhập (input device): thực hiện thao tác đưa dữ liệu từ thế giới bên ngoài vào, thường là bàn phím và con chuột, nhưng cũng có thể là các loại thiết bị khác mà ta sẽ nói rõ hơn ở những phần sau. - Thiết vị xử lý: hay đơn vị xử lý trung tâm - CPU thực hiện thao tác xử lý, tính toán các kết quả, điều hành hoạt động tính toán của máy vi tính, có thể xem CPU như một bộ não của con người. - Thiết bị xuất (Output) thực hiện thao tác gởi thông tin ra ngoài máy vi tính, hầu hết là dùng màn hình máy tính là thiết bị xuất chuẩn, có thể thêm một số khác như máy in, hoa - Thiết bị lưu trữ (storage devices) được dùng để cất giữ thông tin. Lưu trữ sơ cấp (primary momery) là bộ nhớ trong của máy tính dùng để lưu các tập lệnh củ chương trình, các thông tin dữ liệu sẵn sàng trong tư thế chuẩn bị làm việc ty theo yêu cầu của CPU. Lưu trữ thứ cấp (secondary storage) là cách lưu trữ đơn thuần với mục đích cất giữ dữ liệu, cách này dùng các thiết bị như đĩa cứng, đĩa mềm, CD, Khối xử lý trung tâm CPU Khối Khối Các thiết bị điều tính toán Các thiết bị vào khiển ra 1.1.1 Các thanh ghi Bộ nhớ trong ROM + RAM Bộ nhớ ngoài: đĩa từ, đĩa quang Hình 1.3. Sơ đồ khối kiến trúc chung của hệ thống máy tính 2.2. Bộ nhớ Bộ nhớ là loại thiết bị có chức năng lưu trữ dữ liệu và chương trình. Như ta đã biết MTĐT xử lý dữ liệu theo chương trình khi cả dữ liệu và chương trình đã được lưu trữ trong bộ nhớ. Bộ nhớ trong là loại bộ nhớ có thời gian truy nhập nhỏ. Nó được dùng để ghi chương trình và dữ liệu trong thời gian xử lý. Vì giá thành của nó tương đối cao và do cơ chế địa chỉ hoá nên bộ nhớ trong thường có dung lượng không lớn lắm (từ vài MB đến vài trăm MB, hiện nay đã có những bộ nhớ đến hàng GB ). GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 32 -
  33. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Bộ nhớ trong được cấu tạo từ các phần tử có hai trạng thái khác nhau. Một trạng thái thể hiện giá trị 0 và trạng thái thứ hai thể hiện giá trị 1. Có nhiều kĩ thuật chế tạo các phần tử có hai trạng thái. Ví dụ, bộ nhớ bán dẫn sử dụng hai trạng thái đóng mở mạch điện để thể hiện giá trị bit. Cần phân biệt thiết bị vật lý (ví dụ mạch điện) là phần cứng, cố định còn trạng thái của thiết bị thì không cố định, dễ dàng thay đổi (ví dụ bằng cách đóng/ mở mạch điện). Thành phần chủ yếu của bộ nhớ máy tính điện tử là mạch tích hợp, bộ nhớ trong được chia thành hai loại là RAM và ROM. Bộ nhớ RAM (Random Access Memory): RAM còn có tên gọi là RWM (Read Write Memory) là loại bộ nhớ có thể ghi và đọc dữ liệu. Dữ liệu phải nuôi bằng nguồn điện nên dữ liệu lưu trữ trong RAM sẽ bị mất đi khi mất nguồn nuôi. Bộ nhớ ROM(Read Only Memory): ROM là loại bộ nhớ cố định, chỉ cho phép người sử dụng đọc dữ liệu ra nhưng không cho phép ghi vào. Dữ liệu được ghi vào ROM trong lúc chế tạo hoặc bằng phương tiện chuyên dụng. Tuy vậy, để tạo khả năng thay đổi dữ liệu đã ghi trong ROM người ta dùng loại bộ nhớ gọi là PROM. Dữ liệu ghi trong ROM cần nguồn nuôi. ROM thường dùng để lưu trữ các chương trình cơ sở (ví dụ: chương trình vào/ ra cơ sở ROM-BIOS) và các dữ liệu điều khiển phục vụ tất cả các chương trình chạy trên máy. Bộ nhớ trong được tổ chức như dãy liên tiếp các ô nhớ được đánh số. Chỉ số của mỗi ô nhớ gọi là địa chỉ của ô nhớ đó. Địa chỉ được đánh số lần lượt từ 1, 2 (địa chỉ bộ nhớ thường ở dạng đếm Hexa). Mỗi ô nhớ gồm nhiều ngăn, mỗi ngăn là một bít. Độ dài của ô nhớ là khác nhau theo từng loại máy. Phần lớn các ô nhớ trong các máy vi tính có độ dài là 8 bit (1 byte). Bộ nhớ ngoài: còn được gọi là các thiết bị lưu trữ thứ cấp, chúng chính là các ổ đĩa cứng, đĩa mềm, đĩa CD-ROM, ổ flash ROM (ổ USB) sẽ được giới thiệu ở phần sau. 2.3. Bộ vi xử lý (CPU - đơn vị xử lý trung tâm) Ðơn vị xử lý trung tâm (Central Processing Unit) - CPU là một mạch xử lý dữ liệu theo chương trình được nhớ sẵn bên trong máy tính. Nó là một mạch tích hợp phức tạp gồm hàng triệu transitor trên một bảng mạch nhỏ. Phần lớn người dùng không biết và cũng không cần biết đến cái gì trên CPU. Một CPU có thể thi hành hàng triệu lệnh mỗi giây, để như vậy, trong một CPU tiêu biểu phải có nhiều thành phần phức tạp với các chức năng khác nhau hoạt động nhịp nhàng với nhau để hoàn thành các tập lệnh chương trình. Ở đây chúng ta sẽ xem qua các thành phần căn bản bên trong của một CPU. CPU Gồm có các thành phần chính: Arithmetic Logic Unit (ALU) - đơn vị số học và logic: bao gồm một số thanh ghi - register, thường là 32 hay 64 bit. Nó thực hiện các lệnh của đơn vị điều khiển và xử lý tín hiệu. Theo tên gọi, đơn vị này dùng để thực hiện các phép tính số học đơn giản (cộng, trừ, nhân, chia số nguyên) hay phép tính luận lý đối với dữ liệu (so sánh lớn hơn, nhỏ hơn, ). Ðơn vị nạp lệnh - Prectch unit: ra chỉ thị cho đường truyền đọc các lệnh được lưu giữ tại một địa chỉ bộ nhớ riêng biệt. Ðơn vị này không chỉ định vị và nạp lệnh được thi hành kế tiếp mà còn nạp cả các lệnh lần lượt sau nữa vào hàng chờ sẵn sàng hoạt động. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 33 -
  34. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Ðơn vị giải mã - Decode unit: ra chỉ thị cho đường truyền đọc các lệnh được lưu giữ tại một địa chỉ bộ nhớ riêng biệt. Ðơn vị này không chỉ định vị và nạp lệnh được thi hành kế tiếp mà còn nạp cả các lệnh lần lượt sau nữa vào hàng chờ sẳn sàng hoạt động. Ðơn vị nối ghép đường truyền - Bus Interface Unit bộ phận dẫn truyền điều phối các thông tin. Bộ nhớ ẩn(Bộ nhớ đệm) - cache memory là một bộ nhớ nhỏ tốc độ cao đặt ngay bên trong bộ xử lý và nối trực tiếp với mạch xử lý để lưu trữ các lệnh chuẩn bị được thực hiện, hay các lệnh thường xuyên được dùng để sẵn sàng cho CPU. Bộ nhớ này chỉ do bộ xử lý kiểm soát, người sử dụng không thể thâm nhập được, nhằm phục vụ cho việc tăng tốc độ tính toán của bộ xử lý. Loại Cache memory nằm ngay trong bản thân bộ xử lý thường được gọi là Cache nội hay cache sơ cấp - primary, hay còn gọi là Cache L1 (cache level 1). Loại Cache memory nằm ngoài bộ xử lý thường được gọi là cache ngoại hay cache thứ cấp - secondary cache, hay còn gọi là Cache L2 (cache level 2). Ðơn vị điều khiển - control unit: có nhiệm vụ thông dịch các lệnh của chương trình và điều khiển hoạt động xử lý, được điều tiết chính xác bởi xung nhịp đồng hồ hệ thống. Mạch xung nhịp hệ thống - system clock: dùng để đồng bộ các thao tác xử lý trong và ngoài CPU theo các khoảng thời gian không đổi, khoảng thời gian chờ giữa hai xung gọi là chu kỳ xung nhịp. Tốc độ theo đó xung nhịp hệ thống tạo ra các xung tín hiệu chuẩn thời gian gọi là tốc độ xung nhịp - tốc độ đồng hồ tính bằng triệu đơn vị mỗi giây - Mhz. Thanh ghi - register là phần tử nhớ tạm trong bộ vi xử lý dùng lưu dữ liệu và địa chỉ nhớ trong máy đang thực hiện tác vụ với chúng. 2.4. Các thiết bị ngoại vi 2.4.1. Thiết bị nhập Được sử dụng để thu nhận dữ liệu vào bên trong máy tính để xử lý, nó gồm có một số các thiết bị cơ bản sau: Bàn phím (keyboard): là thiết bị dùng để đưa dữ liệu vào MTĐT trực tiếp, không qua giá mang tin. Khi ta ấn một phím, tín hiệu được truyền cho máy tính thông qua bộ lập mã, tạo mã ứng với kí tự của phím được ấn đó. Các dữ liệu được gọi vào từ bàn phím tức thời được hiện lên màn hình. Bàn phím được chia ra làm các tổ hợp phím: Nhóm các phím chức năng F1, F2, F12 Nhóm phím các ký tự thường Nhóm phím số Một số phím đặc biệt: Phím ENTER báo lệnh trên màn hình đã được chọn hoặc xuống một dòng, phím BACKSPACE đưa điểm nháy (con trỏ) về bên trái và xoá ký tự tại điểm đó. Phím DEL xoá ký tự bên phải con trỏ, SHIFT ấn đồng thời với một phím chữ cái thay đổi kiểu chữ in hay chữ thường, CAPSLOCK thiết lập chế độ vào chữ hoa hay chữ thường, các phím mũi tên dùng để di chuyển con trỏ, HOME đưa con trỏ về đầu dòng, END đưa con trỏ về cuối dòng Một số tổ hợp phím đặc biệt: GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 34 -
  35. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - CTRL_ALT_DEL khởi động lại máy - CTRL_BREAK chấm dứt thực hiện chương trình đang chạy - CTRL_S dừng tạm thời quá trình thực hiện trên màn hình Con chuột(mouse): dùng để chuyển dịch một ký hiệu hay một đối tượng được chọn từ nơi này sang nơi khác trên màn hình. Con chuột thường được thể hiện thông qua con trỏ trên màn hình. Khi người sử dụng di chuyển con chuột trên mặt bàn thì con trỏ cũng di chuyển trên màn hình. Chuột máy tính gồm một số loại: Con chuột chuẩn: gồm các nút nhấn ở trên và một hòn bi ở dưới, nó có cấu tạo nhỏ gọn nối máy tính bởi một sợi dây, có thể dịch chuyển dễ dàng và đó cũng là nhiệm vụ của nó. Con chuột bóng - Trackball: nó cũng gồm các thành phần như trên, nhưng viên bi lại hướng lên trên. Thường được chế tạo to lớn khó di chuyển chuột được, tác vụ di chuyển chuột thực hiện trực tiếp bằng chính người dùng dùng tay lăn viên bi, nút nhấn vẫn không thay đổi chức năng. Phiến nhấn - touch pad: là một phiến nhỏ nhạy cảm với những áp lực nhấn lên nó dù nhỏ, người dùng di chuyển con trỏ bằng cách rê ngón tay trên phiến đó. Ngoài ra còn có một số các thiệt bị nhập khác như: Cần điền khiển - Joystick: cũng được xem là thiết bị tính năng chỉ điểm đặc biệt, nó giống như cần điều khiển trong máy trò chơi điện tử. Màn hình cảm ứng - Touch Screen: màn hình thiết kế đặc biệt để có thể cảm nhận được sự chỉ điểm của ngón tay hoặc vật gì đó đối với màn hình. Bàn vẽ - Graphic table là một thiết bị đặc dụng dành cho những nhà thiết kế hay họa sỹ, bàn vẽ càng tốt thì độ nhạy cảm về áp lực trên nó càng cao. Bàn vẽ sẽ chuyển trực tiếp những hình ảnh được vẽ trên bàn vẽ thành các hình ảnh trên máy tính. Máy quét ảnh - scanner: là một thiết bị nhập liệu có thể biến những hình ảnh thành những thông tin số hóa đại diện cho nó Máy ảnh số – digital camera: cũng bằng phương pháp tương tự như scanner, máy ảnh số dùng để chụp hình ảnh bên ngoài, thay vì lưu hình ảnh lên phim thì nó lưu ảnh dưới dạng thông tin số hóa. Máy quay phim số – digital video camera: hoạt động với phương thức tương tự máy ảnh số nhưng là lưu giữ những hình ảnh động thay vì hình ảnh tĩnh, ngoài ra nó còn thu được âm thanh nữa. Thiết bị âm thanh số hóa – Audio digitalizer: là micro, loa, CD, các nhạc cụ điện tử. Ngoài ra còn có một số các thiết bị đọc như : Thiết bị đọc đánh dấu quang học - Optical-mark readder, Thiết bị đọc mã vạch - Barcode reader, Thiết bị đọc chữ in từ tính - magnetic-ink character reader, Bút viết máy tính - pen-based computer 2.4.2. Thiết bị xuât Có hai thiết bị xuất chủ yếu là màn hình và máy in. Màn hình máy tính sẽ cho ta thấy những ký tự mà ta gõ trên bàn phím hoăc các thông điệp từ máy tính. Những thế hệ màn hình mới có thể thể hiện chi tiết các hình ảnh cũng như chữ, số và các ký hiệu với đủ loại màu sắc khác nhau Có hai loại chính là: màn hình dùng các bóng đèn tia điện tử cathode CRT (cathode ray cathode) và màn hình tinh thể lỏng LCD (liquid crystal display). Tuy GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 35 -
  36. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) rằng LCD là loại màn hình phẳng nhỏ gọn hơn CRT nhiều, nhưng giá của LCD lại rất cao so với CRT. Các màn hình CRT ngày nay cho chất lượng hình ảnh tốt hơn màn hình LCD. Màn hình CRT này về cơ bản gồm một bóng đèn hình lớn chứa ba ống phóng điện tử cho ba màu đỏ, xanh lá cây và xanh dương. Ba màu cơ bản này sẽ tạo ra được mọi màu khác cần hiển thị. Mội điểm ảnh sẽ do 3 yếu tố RGB hợp thành tạo ra màu sắc cần thiết. Màn hình được nối kết với máy tính thông qua bộ điều hợp hiển thị - video adapter hay display adapter. Nó còn có tên gọi là cạc màn hình - display card, video card. Bộ điều hợp hiển thị là một bảng mạch điện tử được cắm trong máy tính ở khe cắm mở rộng. Thông số dùng để phân loại màn hình máy tính và tivi được quy định giống nhau - là độ dài đo được của đường chéo màn hiển thị. Một máy tính để bàn thông thường có màn hình thừ 14 đến 17 inch. Hình ảnh hiện trên màn hiển thị là sự kết hợp của nhiều chấm nhỏ - gọi là điểm ảnh - pixel. Ðộ phân giải của màn hiển thị thông thường là 72 điểm trong một inch cho mỗi chiều ngang và dọc. (Ðơn vị tính độ phân giải viết tắt là DPI - điểm trong một inch: Dots Per Inch) Ðộ phân giải càng cao, các điểm ảnh càng sít lại với nhau, hình ảnh càng mịn hơn và đẹp hơn. Máy in (Printer) được gắn với máy tính sẽ là thiết bị xuất có giá trị lưu trữ, bởi các bản in ra giấy. Máy in có nhiều loại và được chia thành hai nhóm chính: máy in gõ hay máy in không gõ (impact printer or nonimpact printer) Máy in gõ: là các máy in theo dòng hay theo ma trận điểm. Các máy in kim là loại này, có đặc điểm là tốc độ in chậm, ồn ào, độ phân giải thấp cho chất lượng in ấn trung bình. Máy in này dùng một đầu kim chạy suốt chiều ngang giấy để ấn các kim xuống giấy (qua lớp băng mực) theo tín hiệu điểu khiển, nhiều lần như vậy tạo nên bản in. Số đầu kim của máy càng cao thì độ phân giải đạt được càng cao, các loại máy in 9,18 kim hầu như không còn được sử dụng nữa, thông dụng nhất của máy in loại này có lẽ là có thể in trên khổ giấy lớn mà giá máy rẻ và có thể nhân thành nhiều bản bằng giấy than do sự gõ truyền lực. Máy in không gõ: là loại máy in như tên gọi của nó - không dùng tác động cơ tạo nên chữ mà bằng các kỹ thật hiện đại khác. Máy in nhiệt - dùng các xung điện từ mạch kích thích của máy in làm cho đầu kim ma trận điểm nóng lên và nguội đi rất nhanh, nhưng đầu kim này không gõ vào giấy mà do sự nóng nguội theo ma trận điểm nó sẽ làm đổi màu các điểm trên loại giấy đặc biệt tạo nên các ký tự cần in. Tốc độ máy in tương đối nhanh và ít tốn điện, nhưng phải dùng loại giấy in nhiệt - thermal paper. Máy in phun mực - inkfet printer: cũng là loại máy in không gõ, đồng thời đầu in cũng không tiếp xúc giấy in, nó thực hiện thao tác in bằng cách phun các giọt mực lên các hạt mực li ti tạo nên bản in. Trong máy in phun ngày nay thiết bị phun dùng tinh thể áp điện - nó dao động cơ học với tần số cố định khi có điện áp điều khiển tác động vào. Máy in laser: dùng công nghệ in tĩnh điện (electrostatic - ES) là phương pháp in tạo hình ký tự bằng cách tạo ra điện tích tĩnh điện và làm chảy mực lên giấy nhờ quá trình nung nóng. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 36 -
  37. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Máy in màu: hoạt động dựa trên nguyên tắc các điểm màu cơ bản li ti xen kẽ nhau tạo nên nhiều màu sắc phong phú. Ðể thể hiện màu sắc theo nguyên tắc này có nhiều phương pháp phối màu khác nhau. 2.4.3. Thiết bị lưu trữ Máy tính có các thiết bị ngoại vi có khả năng nhận và xuất dữ liệu - đó là các ổ đĩa máy tính, nơi ghi nhớ các thông tin dữ liệu. Những thiết bị này gọi là các thiết bị lưu trữ thứ cấp - secondary starage (thiết bị lưu trữ sơ cấp khác bộ nhớ chính - primary storage là bộ nhớ máy tính.). Khác với thiết bị lưu trữ sơ cấp khi ngắt điện là mọi thứ trong RAM đều không còn, loại thứ cấp này có thể lưu dữ kiện ngay cả khi không có nguồn nuôi, xét về lý thuyết, dữ liệu trên loại này có thể tồn tại vĩnh viễn và có thể được đọc, ghi, sửa hay xóa lúc này hay lúc khác, Có hai phương pháp lưu dữ kiện tạo nên hai họ khác nhau, là dựa trên từ tính, và dựa trên khả năng ứng dụng quang học. a. Ðĩa từ Có hai loại chủ yếu là đĩa mềm và đĩa cứng. Ðĩa mềm, có thể hiểu đơn giản là loại đĩa dung lượng thấp, nhỏ gọn tháo lắp dễ dàng, nhiều đĩa dùng chung một ổ đĩa. Hiểu như vậy để có thể phân biệt với đĩa cứng là loại ổ đĩa thường lắp hẳn bên trong máy, ít được tháo rời, phức tạp, và bản thân nó là thiết bị hoàn chỉnh đọc ghi với dung lượng lớn. Ðĩa mềm - floopy disk: Gồm vỏ bảo vệ và một đĩa plastic nhỏ có phủ vật liệu từ (oxit sắt, oxit niken hoặc oxit coban pha với vật liệu không từ tính hay đất hiếm). Dữ liệu thông tin dạng số sẽ được đại diện bởi các hạt từ tính, các hạt này do có tính từ tính, nên bằng một phương pháp nào đó nó được xác định một trong hai hướng rõ rệt - như vậy thể hiện được số 0 hay số 1. Ðĩa mềm cũng trải qua nhiều thế hệ, những khác nhau giữa các hệ dĩa mềm chỉ là quanh vấn đề dung lượng nhớ của nó chứ về nguyên tắc hoạt động của dĩa cũng như ổ đĩa không có thay đổi lớn nào. Ngày nay người ta chỉ còn dùng loại đĩa mềm 3.5 ich thường gọi là 1 đĩa 1.44Mb, nhưng cũng có loại 2,88Mb. Loại 5,25 inch gần như không còn được dùng nữa. Ðĩa mềm có tính cơ động cao, nhưng bị hạn chế về dung lượng nhớ, hiện nay các chương trình hầu như không thể chạy trên đĩa mềm như cách đây khoảng 5 năm, cho nên đĩa mềm chủ yếu dùng sao lưu dữ liệu, vả lại tốc độ đọc ghi của đĩa mềm rất thấp - bù lại giá đĩa mềm tương đối rẻ, bạn có thể mua một hộp đĩa mềm với giá khoảng 50.000 đồng (10 hay 11 đĩa). Ðĩa cứng - Hard disk: Có thể so sánh tên gọi đĩa cứng và đĩa mềm cũng đủ rút ra kết luận. Ðĩa cứng cứng hơn đĩa mềm! Và giá cả cũng đắt hơn. Bạn có thể hình dung, ổ đĩa cứng gồm vỏ cứng bảo vệ, các bộ phận điều khiển xuất nhập, nguồn, và đĩa từ tính. Bộ khung vỏ bảo vệ thường là hợp kim nhôm đúc ở áp lực cao, cũng có hai cỡ 5.25 inch và 3.5 inch, và thông dụng nhất vẫn là loại 3.5 inch. Dung lượng ổ cứng không phải bị chi phối bởi vỏ ổ cứng mà ở đĩa từ. Ðĩa từ của ổ cứng thường làm từ nhôm, thủy tinh hay gốm-phủ một lớp vật liệu từ và lớp bảo vệ ở cả hai mặt. Ổ cứng có thể có nhiều đĩa từ xếp chồng lên nhau trên trục môtơ quay. Ðể hoạt động đọc ghi, ổ cứng còn có các đầu từ, môtơ dịch chuyển đầu từ, mạch chính, mạch điện tử điều khiển, và thường có bộ nhớ cache. Ðĩa cứng rất đa dạng về dung lượng, có thể từ vài chục Mb đến vài nghìn Mb hay hơn nữa, và phụ thuộc nhiều vào các chuẩn kỹ thuật GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 37 -
  38. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) giao tiếp. Loại ổ cứng thường dùng trong máy vi tính hiện nay khoảng 1 Gb đến 2 Gb, một con số khổng lồ nếu so với cách đây 5 năm khi mà ổ cứng chỉ có thể từ 100Mb đến 200Mb, thậm chí có máy không trang bị ổ cứng nữa. Các ổ cứng giao tiếp với máy thông qua một dữ liệu cắm vào mạch điều khiển. Những máy tính thế hệ tiền PCI- tức là từ VesaLocalBus trở về trước giao tiếp giữa máy và thiết bị ngoại vi đều thông qua bảng mạch giao tiếp - thường gọi là cạc IO (input-output), tức là con chuột, ổ cứng, ổ mềm, máy in, joystick, đều nối vào đây. Ðể hoạt động, các ổ cứng giao tiếp với máy thông qua các chuẩn ESDI, IDE, SCSI. Chuẩn ESDI (Enhanced Small Device Interface) xuất hiện đầu năm 1983 dùng phương pháp mã hóa RLL, tốc độ có thể đạt đến khoảng 24 MB mỗi giây, là dạng giao tiếp câm nên các điều khiển quan trọng đều do card quản lý. Chuẩn IDE (Intelligent Drive Electronic - Intergrated Drive Electronic) cũng còn gọi là ATA (AT Attachment) dùng loại mạch điện tử ổ đĩa thông minh, hiện nay còn có các chuẩn SATA(Serial ATA), PATA, là giao tiếp ở mức hệ thống. Chuẩn này nối với máy bằng một cáp nguồn 4 chân và một cáp dữ liệu 40 chân. Loại ổ đĩa này có tốc độ khá cao nên được dùng trong hầu hết các máy vi tính hiện nay, giá thành cũng rẻ hơn so với các loại ổ cứng khác. Nếu tính cụ thể thì khoảng 1.5USD cho 10Mb, rẻ hơn cả đĩa mềm: 1.5USD cho gần 5 Mb. Chuẩn giao tiếp SCSI (Small Computer System Interface) là một cấu trúc bus độc lập có thể truyền dữ liệu với tốc độ cao, từ 4Mb/giây đến khoảng 10Mb/giây. Ðược ứng dụng với ổ cứng tạo nên một khả năng lưu trữ cao với tốc độ đọc ghi cao. Ðể dùng được, cần có một bảng mạch điều hợp SCSI, tuy nhiên một card SCSI này có thể nối tiếp đến 7 thiết bị theo chuẩn này. Ổ băng ghi lưu: Cũng là thiết bị lưu trữ từ tính, nhưng loại này khác với các loại trên ở tính chất truy cập tuần tự của nó, do đó chỉ dùng sao lưu chứ không dùng để làm việc hằng ngày như thiết bị truy cập ngẫu nhiên - đĩa cứng, đĩa mềm. Ổ băng ghi lưu gồm một hộp băng và cuộn băng từ cỡ 0,25 inch. Loại này rất đa dạng về chủng loại và dung lượng, tùy yêu cầu công việc mà bạn lựa chọn. b. Ðĩa quang học Gọi là đĩa quang học, tức là vấn đề cốt lõi về kỹ thuật - đọc ghi dữ liệu được thực hiện trên nguyên tắc quang học, dùng tia sáng laser. So với hệ thống từ tính, ổ quang có ba điểm khác biệt chính: vì độ chính xác cao của thao tác quang học, nên ổ đĩa quang có thể có dung lượng cao hơn ổ đĩa từ gấp nhiều lần so với ổ đĩa từ. Ðộ bền dữ liệu ghi bằng phương pháp quang học cao hơn so với phương pháp từ tính nhiều lần, tối thiểu cũng 50 năm. Ðĩa quang có thể tháo lắp dễ dàng như một đĩa mềm mà hiệu quả hơn nhiều, do đó ngày càng phổ dụng hơn. Ðĩa CD - compact disc là loại này. Xuất phát từ nhu cầu âm thanh, CD âm thanh ra đời chứa dữ liệu dưới dạng các hốc lõm, khi CD quay tia laser sẽ phát đến đĩa và nhận sự phản xạ khác nhau giữa điểm lõm và điểm không lõm ứng với số 0 và 1 hệ nhị phân. Ðĩa CD-ROM ta dùng hiện nay cũng hoạt động theo nguyên tắc đó, vì là loại đĩa CD chứa dữ kiện chỉ đọc được nên có tên có tên CD-ROM (Compact Disc Read Only Memory). Thông thường dữ liệu có thể đưa vào loại đĩa quang giá rẻ 680Mb (khoảng 10USD đĩa trắng - 1USD 68 MB) như chúng ta dùng rộng rãi hiện nay, đồng thời các loại đĩa âm thanh cũng có thể đọc hiểu vàhoạt động được bằng ổ đĩa CD của máy tính, nhưng đầu đọc của máy GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 38 -
  39. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) CD âm thanh thì không thể đọc được đĩa CD dữ liệu. Nói là CD-ROM-chỉ đọc, nhưng dĩ nhiên là phải có một lần nào đó ghi dữ liệu lên đĩa rồi mới đọc, thao tác này theo nguyên tắc khắc trên đĩa các điểm lõm hay không lõm đại diện cho số 0,1 bằng một nguồn phát tia laser công suất lớn. Người ta tạo một đĩa gốc trước trên nguyên tắc này bằng đầu CD có thể ghi trên một đĩa CD mới, sau đó âm bản của đĩa gốc được tạo ra bằng quá trình mạ điện hoặc photopolymer. Tiến trình nhân bản thực hiện bằng cách phun polycarbonate-trong suốt, nhẹ, bền, ổn định, không nhiễm bẩn - nên đĩa CD giữ được thông tin gần như vĩnh viễn. DVD - Digital Vidéo Disc tức là đĩa vidéo kỹ thuật số hay Digital Versatile Disc - đĩa đa năng kỹ thuật số là một công nghệ chỉ mới ra đời gần đây. Cho đến thời điểm hiện nay, DVD vẫn chỉ còn trong dự án với giá thành khá cao, đã có DVD bán ra thị trường nhưng chỉ ở dạng hàng mẫu không phổ biến lắm. Vậy đâu là điểm mạnh mà DVD được đoán là sẽ nhanh chóng thay thế CD trong tương lai ? Cũng như CD dần dần thay thế dĩa mềm bởi dung lượng hàng trăm Mb của nó, DVD thay thế CD-ROM bởi DVD có thể lưu ít nhất 3.8 Gb và có thể đạt đến 17 Gb. DVD có kích thước giống như CD (120mm đường kính và dày 1,2mm) cũng làm bằng nguyên liệu như CD. Như đã nói ở trên, đây là một bước tiến về công nghe? dữ liệu trên DVD sẽ được ghi vào đĩa với mật độ cao hơn, sít hơn nhiều so với CD, lượng thấu kính trong đầu đọc nhiều hơn để tăng độ chính xác - và đầu đọc sẽ dùng laser cóc sóng ngắn hơn, có thể là tia laser đỏ - laser hồng ngoại. Quan trọng nhất là kỹ thuật DVD cho phép loại đĩa có hai lớp trên một mặt, nên với mỗi lớp khoãng hơn 4Gb thì loại đĩa 2 lớp hai mặt hoàn toàn có thể chứ đến 17Gb dữ liệu - hãy hình dung bằng toàn bộ dữ liệu của cả một thư viện 10 ngàn cuốn sách! 2.5. Quá trình thực hiện lệnh (thực hiện chương trình) Quá trình thực hiện chương trình trên máy tính thường gồm 5 công đoạn sau: + Nhận lệnh (Instruction Fetch): - Địa chỉ của lệnh cần nhận nằm ở PC sẽ được chuyển qua Bus địa chỉ để đưa đến bộ nhớ tìm ra ngăn nhớ chứa lệnh. - CPU phát ra tín hiệu điều khiển đọc ngăn nhớ (MEMR). - Nội dung của lệnh được chuyển qua Bus dữ liệu đưa vào thanh ghi lệnh (có thể chỉ nhận mã lệnh). + Giải mã lệnh (Instruction Decode): - Mã lệnh từ thanh ghi lệnh được chuyển đến đơn vị điều khiển và ở đó lệnh được giải mã để xác định hành động của lệnh. + Nhận dữ liệu (Data Fetch): - Lệnh có thể yêu cầu nhận dữ liệu từ bộ nhớ hay cổng vào ra đưa vào CPU. + Xử lý dữ liệu (Data Processing): - Nếu lệnh yêu cầu thực hiện 1 phép toán nào đó thì dữ liệu sẽ chuyển vào ALU. ở đó phép toán sẽ được thực hiện và kết quả tạm thời sẽ được cất trong thanh ghi dữ liệu. + Cất dữ liệu (Data Saving): - Phát ra được tìm ra nơi cất. - Đưa dữ liệu ra ngoài. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 39 -
  40. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) - Phát ra tín hiệu điều khiển ghi. 2.6. Các thế hệ máy tính và phân loại máy tính 2.6.1. Máy tính cơ khí Năm 1642, nhà khoa học Pháp Blaise Pascal (1623-1662) xây dựng một máy đầu tiên thực hiện công việc tính toán. Đây là thiết bị hoàn toàn bằng cơ khí sử dụng các bánh răng và cung cấp lực bằng một cánh tay quay. Nó chỉ thực hiện được các phép toán cộng và trừ. 30 năm sau, nhà toán học vĩ đại người Đức Baron Gottfried Wilherm von Leibniz (1646-1716) xây dựng một máy cơ khí làm được phép nhân và chia, một máy tính tương đương với máy tính bỏ túi 4 chức năng (four-function pocket calculator) ra đời sau đó 3 thế kỷ. Sau đó 150 năm, giáo sư Charles Babbage (1792-1871) đã thiết kế và xây dựng máy sai phân (difference engine). Nó được thiết kế để chạy một giải thuật đơn: phương pháp sai phân hữu hạn sử dụng các đa thức và cũng chỉ thực hiện các phép toán cộng và trừ dùng để tính toán các bảng số thường gặp trong ngành hàng hải. Đặc trưng thú vị nhất của máy sai phân là phương pháp xuất dữ liệu: kết quả xuất được đục trên một tấm khắc đồng có đai thép, báo trước sự ra đời của các phương tiện lưu trữ chỉ ghi một lần như thẻ đục lỗ, đĩa quang CD-ROM. Năm 1834, Babbage thiết kế và xây dựng máy phân tích (analytical engine). Máy phân tích có 4 thành phần: bộ lưu trữ (bộ nhớ), bộ tính toán, thành phần nhập (đầu đọc thẻ đục lỗ) và thành phần xuất (in và đục lỗ). Bộ tính toán có thể nhận các toán hạng từ bộ lưu trữ, thực hiện phép toán cộng, trừ, nhân hay chia chúng và trả kết quả về bộ lưu trữ, máy này cũng hoàn toàn bằng cơ khí như máy sai phân. Phát triển tiếp theo của máy phân tích là máy đa năng. Máy đọc lệnh từ các thẻ đục lỗ và thực thi chúng. Bằng cách đục lỗ một chương trình khác trên thẻ nhập, máy phân tích có khả năng thực hiện các tính toán khác. Lập trình viên máy tính đầu tiên là Ada Lovelace đã tạo ra phần mềm cho máy phân tích. Vào những năm 1930, Konrad Zuse xây dựng một chuỗi các máy tính toán tự động bằng cách sử dụng các relay từ. Sau đó, John Atanasoff và George Stibbitz đã thiết kế các máy tính (calculator). Máy của Atanasoff sử dụng số nhị phân và có các tụ điện làm cho bộ nhớ được làm tươi theo chu kỳ. Tuy nhiên, máy này bị thất bại do công nghệ phần cứng không tương xứng với ý tưởng thiết kế. Năm 1944, Howard Aiken hoàn tất máy tính Mark 1, có tất cả 72 từ, mỗi từ 23 số thập phân và có thời gian một chu kỳ là 6 giây. Việc nhập và xuất thực hiện bằng các băng giấy đục lỗ. 2.6.2. Thế hệ các máy tính đèn điện tử – thế hệ thứ nhất (1945 - 1955) Năm 1943, máy tính số điện tử đầu tiên trên thế giới bắt đầu hoạt động, đó là máy Colossus. Colossus do Alan Turing thiết kế nhằm thực hiện giải mã các thông điệp đã mã hóa trong chiến tranh thế giới thứ 2. Cũng trong năm 1943, Mauchley và Presper Eckert bắt đầu tiến hành xây dựng máy tính ENIAC (Electronic Numerical Integrator And Computer). ENIAC gồm 1800 đèn điện tử và 1500 relay (rơ le), cân GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 40 -
  41. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) nặng 30 tấn, công suất tiêu thụ 140 kWh. Nó có tất cả 20 thanh ghi, mỗi thanh ghi có thể lưu trữ một số thập phân 10 chữ số. Sau đó, John von Neumann thiết kế máy IAS dựa cơ sở trên máy EDVAC, là một phiên bản nâng cao của ENIAC. Máy von Neumman có 5 phần cơ bản: bộ nhớ, đơn vị luận lý số học (ALU – Arithmetich Logic Unit), đơn vị điều khiển chương trình, thiết bị nhập và thiết bị xuất. Bộ nhớ có tất cả 4096 từ, mỗi từ lưu trữ 40 bit. Mỗi từ chứa 2 lệnh 20 bit hay một số nguyên có dấu 39 bit. Mỗi lệnh 20 bit gồm có 8 bit xác định loại lệnh và 12 bit xác định 1 trong 4096 từ nhớ. Hình 1.4. Máy tính Von Neumann Vào cùng thời gian của máy IAS, các nhà nghiên cứu ở M.I.T cũng đang xây dựng một máy tính, máy Whirlwind 1. Nó có từ dài 16 bit và thiết kế để điều khiển thời gian thực. 2.6.3. Thế hệ các máy tính transistor – thế hệ thứ hai (1955 - 1965) Năm 1948, John Bardeen, Walter Brattain và William Shockley phát minh ra transistor đã làm cuộc cách mạng trong lĩnh vực máy tính. Máy tính transistor đầu tiên được xây dựng tại M.I.T, máy TX-0 (Transistorized experimental computer 0), có 16 bit tương tự như Whirlwind 1. Hình 1.5. Omnibus của PDP-8 Năm 1961, máy tính PDP-1 xuất hiện có 4K từ 18 bit và khoảng thời gian một chu kỳ là 5 µs. Vài năm sau, PDP-8 ra đời có 12 bit nhưng giá thành rẻ hơn PDP-1 rất nhiều (16.000 USD so với 120.000 USD). PDP-8 có một đổi mới đó là hình thành một bus đơn gọi là omnibus trong đó bus là tập hợp các dây nối song song dùng để kết nối các thành phần của máy tính. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 41 -
  42. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Trong khi đó, IBM xây dựng một phiên bản của 709 bằng transistor, đó là máy tính 7094 có thời gian một chu kỳ là 2 µs và bộ nhớ 32K từ 36 bit. Năm 1964, công ty CDC giới thiệu máy 6600 có tốc độ nhanh hơn 7094 do bên trong CPU có một cơ chế song song. CPU có vài đơn vị thực hiện phép cộng, các đơn vị khác thực hiện phép nhân, chia và tất cả chúng đều hoạt động song song. Với một công việc, máy có khả năng thực thi 10 lệnh đồng thời. 2.6.4. Thế hệ các máy tính IC – thế hệ thứ 3 (1965-1980) Vi mạch được phát minh cho phép đặt vài chục transistor trong một chip đơn. Việc này giúp cho các máy tính xây dựng trên IC nhỏ hơn, nhanh hơn và rẻ hơn so với các máy tính transistor. Lúc này, IBM giới thiệu một sản phẩm đơn, máy System 360, được thiết kế dựa trên các vi mạch. Đổi mới quan trọng trong 360 là khả năng đa lập trình (multiprogramming), có vài chương trình trong bộ nhớ đồng thời để khi một chương trình đang chờ xuất / nhập dữ liệu thì chương trình khác có thể tính toán. Một đặc trưng khác của 360 là không gian địa chỉ lớn (thời điểm lúc đó), với 2 24 byte nhớ (16 MB). 2.6.5. Thế hệ máy tính các nhân và VLSI – thế hệ thứ tư (1980 - 2000) Vào thập niên 80, vi mạch VLSI (Very Large Scale Integrate) có khả năng chứa vài chục ngàn, vài trăm ngàn và vài triệu transistor trên một chip đơn đã được chế tạo. Sự phát triển này dẫn đến việc sản xuất các máy tính nhỏ hơn và nhanh hơn. Do đó, giá cả đã giảm xuống đến mức một cá nhân có thể sở hữu một máy tính. Các máy tính cá nhân thường dùng cho việc xử lý từ, các bảng tính và các ứng dụng tương hỗ khác. Các máy tính trong thế hệ này có thể chia thành 5 loại: máy tính cá nhân, máy tính mini, siêu máy tính mini, mainframe, siêu máy tính. Máy tính mini sử dụng trong các ứng dụng thời gian thực như điều khiển không lưu hay tự động hóa. Siêu máy tính mini dùng trong các hệ thống chia sẻ thời gian, các máy chủ. Mainframe dùng trong các nhóm công việc lớn hay đòi hỏi cơ sở dữ liệu lớn Siêu máy tính được thiết kế đặc biệt để cực đại hóa số các thao tác dấu chấm động trong 1s (FLOP – floating point operations per second). Máy tính nào có tốc độ dưới 1 GF/s thì không được xem là siêu máy tính. Bài 3. Tổng quan về hệ điều hành 3.1. Khái niệm về hệ điều hành Hệ điều hành (Operating System – OS) là tập hợp các chương trình và thủ tục dùng để điều khiển toàn bộ hoạt động của máy tính, quản lý, phân phối khai thác sử GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 42 -
  43. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) dụng các bộ phận trong máy tính như thời gian sử dụng CPU, cách sử dụng bộ nhớ trong máy tính cũng như các thiết bị ngoại vi khác như bàn phím, đĩa cứng, đĩa mềm, máy in, màn hình, và giúp cho việc giao tiếp giữa người và máy tính. Thiếu hệ điều hành thì máy tính không hoạt động được. Chức năng chính của hệ điều hành : Quản lý, điều khiển việc thực thi mọi chương trình. Quản lý, phân phối và thu hồi bộ nhớ. Điều khiển các thiết bị bao gồm cả việc khởi động máy tính. Điều khiển và quản lý việc vào ra dữ liệu. Làm môi trường trung gian, là cầu nối giữa người sử dụng và hệ thống máy tính. Trước đây thông thường một máy tính chỉ cài đặt được một hệ điều hành duy nhất, nhưng với sự tiến bộ rất nhanh của khoa học kỹ thuật mà hiện nay trên cùng một máy tính ta có thể cài đặt đồng thời được 1 vài hệ điều hành khác nhau. Hệ điều hành phải bắt buộc phải được cài đặt trên máy tính theo đúng yêu cầu trình tự, không thể sử dụng các thao tác đơn giản như copy, di chuyển thông thường để sử dụng được hệ điều hành 3.2. Các hệ điều hành Hiện nay có rất nhiều hệ điều hành như MS DOS, UNIX, WINDOWS 9X , Windows XP, Windows 2000, LINUX, MAC OS (MACINTOSH) 3.2.1. Hệ điều hành UNIX Là một hệ điều hành được dùng trong nhiều loại máy tính khác nhau, từ các máy tính lớn cho đến các máy tính cá nhân, nó có khả năng đa nhiệm phù hợp một cách lý tưởng đối với các ứng dụng nhiều mgười dùng. UNIX được viết bằng ngôn ngữ lập trình rất linh động, ngôn ngữ C và cũng như C, đó là thành quả nghiên cứu của AT & T Bell Laboratories UNIX là một môi trường lập trình toàn diện, nó diễn đạt một triết lý lập trình duy nhất. Tuy nhiên với hơn 200 lệnh không kể các thông báo lỗi, và với những cú pháp lệnh khó hiểu UNIX là một gánh nặng cho những người không quen sử dụng và không giỏi kỹ thuật. Với sự phát triển các shell của UNIX, hệ điều hành này có thể đóng một vai trò phổ dụng hơn trong điện toán. Ngoài những vấn đề khác thường đó của UNIX thì những ưu điểm của hệ điều hành này sẽ được nhanh chóng thể hiện. UNIX đã được thiết kế dưới dạng là một hệ thống nhiều người dùng, và với khả năng đa nhiệm của nó, UNIX còn có thể thực hiện nhiều nhiệm vụ cùng một lúc. Nếu tương lai của điện toán cá nhân dựa vào sự liên kết các trạm công tác để hợp tác với máy tính mini và máy tính lớn, thì các hệ điều hành UNIX trong trường hợp cụ thể được trang bị một shell như NeXTStep chẳng hạn. Sẽ có khả năng thay thế cho DOS và ngay cả OS/ 2. Vì Bell Laboratiories đã bị cấm không được phé́́p tiếp thị UNIX do những quy tắc chống độc quyền đối với hãng AT & T, UNIX đã được cung cấp miễn phí cho các trường trung học và đại học trong toàn Bắc Mỹ bắt đầu từ 1976. Năm 1979, Trường đại học California ở Berkeley đã xây dựng một phiên bản của UNIX dùng cho các máy tính VAX. Sau khi đã được ưa thích trong các lĩnh vực kỹ thuật và công nghệ GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 43 -
  44. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) UNIX của Berkeley đã phát triển thêm những phiên bản khác và bán rộng rãi trên thị trường. Đầu những năm 1980, AT & T đã dành được quyền tiếp thị đối với hệ thống đó, và đã cho ra đời System V vào năm 1983. Với System V, AT & T đã thiết lập một loạt các tiêu chuẩn UNIX có tên gọi là System V Interface Definition ( SVID). Đó là các tiêu chuẩn hướng tới những nơi do các hệ UNIX đang thống trị và những nơi có nhiều thành viên cùng hợp tác đang yêu cầu. IBM đã làm phù hợp chuẩn SVID với phiên bản UNIX của riêng mình. Hệ điều hành UNIX có một số đặc điểm sau: Đa chương Nhiều người sử dụng Bảo mật Độc lập phần cứng Kết nối mở Dùng chung thiết bị Tổ chức tập tin phân cấp Các thành phần chính của hệ điều hành UNIX: Windows & Graphic User Interface Shell Lệnh và tiện ích Các bộ điều khiển thiết bị Kernel 3.2.2. Hệ điều hành LINUX Linux là hệ điều hành “giống” Unix - 32 bit chạy được trên nhiều máy trạm bao gồm các bộ xử lý Intel, SPARC, PowerPC và DEC Alpha cũng như những hệ thống đa xử lý. Hệ điều hành này là miễn phí, chúng ta có thể tải nó xuống từ web hay bạn có thể mua một quyển sách có chứa một CD-ROM với toàn bộ hệ điều hành như: “Linux: The Complete Reference” của Richard Peterson (Berkeley, CA: Osborne/McGraw- Hill, 1996). Linux là một sản phẩm do người sử dụng tự phát triển, có nghĩa là nhiều thành phần của nó được người sử dụng trên khắp thế giới phát triển lấy để tự chạy hệ điều hành cho mục đích riêng của họ. Hệ thống gốc được phát triển bởi Linux Torvalds như là một dự án ở mức sơ đẳng. Ngày nay nó đã được phát triển khá tốt và được đánh giá cao. Vấn đề duy nhất ở đây là bộ điều khiển chỉ có khi người sử dụng muốn phát triển chúng. Do đó nếu bạn muốn, nhưng bạn không có khả năng thì bạn không biết phải tìm đâu ra nhà cung cấp để làm giúp bạn. Bất cứ ai muốn dùng hệ điều hành này trước hết phải đảm bảo những ứng dụng chạy được trên Linux và có được bộ điều khiển để hỗ trợ phần cứng và phần mềm. Bạn có thể tìm ở web-site của Linux Documentation Project ở địa chỉ để biết thêm thông tin và một danh sách về những web-site liên quan. Linux phiên bản 2.0 cung cấp các trạm chéo (cross-platform), nhân (kernel) 64- bit hỗ trợ SMP (symmetrical multiprocessing - đa xử lý đối xứng). Linux phù hợp với GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 44 -
  45. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) những tiêu chuẩn X/Open và POSIX cho hệ điều hành “giống” Unix, và những chương trình dùng cho SCO và hệ thống Unix SVR4 sẽ vẫn chạy được. Linux cũng hỗ trợ Unix chuẩn và giao thức Internet và Java. Nó có thể được dùng như một Internet server và Internet firewall - bức tường lửa (bộ duyệt Internet). Những văn bản được dùng ở dạng file HOWTO được viết bởi người sử dụng và những người phát triển khác và nó được cung cấp miễn phí ở một số web-site như: Linux International 3.2.3. Hệ điều hành MAC OS Năm 1984, Apple Computer giới thiệu Macintosh - một trong những máy tính cá nhân đầu tiên được phổ biến rộng rãi, sử dụng hệ điều hành có giao diện đồ hoạ mô phỏng theo hình ảnh quen thuộc là Desktop. Sau vài năm hệ điều hành Macintosh đã cung cấp được nhiều chức năng cho người sử dụng. Năm 1994 Apple giới thiệu hệ điều hành System 7.5 với độ hiệu quả và hiệu suất cao hơn dùng cho cả hai hệ thống 680x0 Macs và Power Macintosh. Vào thời điểm đó hệ điều hành này còn được gọi là Mac OS Vào những năm 1997, Apple phát hành Mac OS 8 - một hệ thống đa luồng (multi - threaded) để sử lý các tác vụ song song như vừa chạy trình ứng dụng vừa sao chép file. Nó cũng cải tiến phần giao diện và có thêm phần hỗ trợ truy cập internet dùng TCP/IP, PPP (Point - to - Point Protocol), bộ duyệt của Netscape hay của Microsoft, và mạng PointCast. Hướng phát triển hiện tại của Apple là hỗ trợ một hệ điều hành cap cấp mới gọi là Rhápody. Hệ điều hành mới này dựa trên sự kết hợp những công nghệ từ công ty NeXT Software và của Apple. Rhapsody kết hợp với Mac OS như là một lựa chọn cho người sử dụng và người phát triển phần mềm, Rhapsody bao gồm các tính năng như bộ nhớ được bảo vệ, đa tác vụ ưu tiên trước, đa xử lý đối xứng. Nó cũng cho phép tương thích với hầu hết các ứng dụng chạy trong Mac OS và là một trạm phát triển các ứng dụng multimedia và ứng dụng Java. 3.2.4. Hệ điều hành Windows 9x/XP 3.2.5. Hệ điều hành Windows NT/2000/2003 3.3. Hệ điều hành MS-DOS 3.3.1. Khái niệm MS-DOS (MicroSoft Disk Operating System) là hệ điều hành do hãng MicroSoft ban hành, có chức năng chính là quản lý và khai thác đĩa từ (đĩa cứng, đĩa mềm) như là quản lý không gian nhớ trên đĩa, quản lý các tệp tin trên đĩa, hỗ trợ các thao tác với file và thư mục như tạo, xóa, copy, Là hệ điều hành đơn nhiệm, một người sử dụng, trợ giúp thao tác giữa người và máy theo cơ chế dòng lệnh. 3.3.2. Tên của ổ đĩa và dấu đợi lệnh (prompt) DOS qui định đĩa mềm có tên là A, B, còn ổ đĩa cứng có tên là C, D, E, tên ổ đĩa bao giờ cũng đi kèm với dấu “:”. GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 45 -
  46. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) Khi máy tính khởi động xong, trên màn hình xuất hiện dấu nhắc đợi lệnh báo hiệu máy được khởi động từ máy nào và cũng có nghĩa máy tính đang làm việc tại ổ đĩa đó (ổ đĩa đang làm việc gọi là ổ đĩa hiện thời) Dấu nhắc đợi lệnh (prompt) báo hiệu tại chỗ đó máy tính đang đợi ta gõ lệnh vào, nó có dạng: A:\> cho ta thấy ổ A là ổ đĩa hiện thời, ta đang làm việc với máy tính tại thư mục gốc (ký hiệu thư mục gốc: “\”) Hoặc C:\> -ổ C là ổ đĩa hiện thời. 3.3.3. Tập tin và cách đặt tên. Tệp tin (file) là tập hợp các dữ liệu có liên quan với nhau được tổ chức lưu trữ tại 1 vùng nhớ trên bộ nhớ ngoài và được ánh xạ qua một tên gọi là tên tập tin (filename). Các chương trình, văn bản, dữ liệu đều được quản lý trên đĩa dưới dạng tệp. Tệp tin là đơn vị lưu trữ thông tin nhỏ nhất mà hệ điều hành quản lý lưu trữ dữ liệu trên đĩa từ. Tên tệp tin (filename): mỗi tệp tin phải có một tên, và gồm 2 phần: - Phần tên: là phần bắt buộc phải có và được đặt theo qui tắc sau + Độ dài không quá 8 ký tự + Bao gồm các chữ cái A-Z, a-z, và các chữ số và một số ký tự như @, $, !, ~, {, }, “_” (Ha_Noi.TXT) - Phần mở rộng: là phần có thể có, có thể không, độ dài không quá 3 ký tự và phải theo qui tắc như phần tên. Chú ý: Tên tệp không được chứa dấu cách, dấu *, dấu ?, và không được trùng với các tên lệnh của DOS như COPY, TYPE, và tên logic của các thiết bị như CON (bàn phím), AUX, COM1, COM2, PRN, - Phần tên và phần mở rộng được ngăn cách nhau bởi dấu chấm. Một số phần mở rộng được dùng với ý nghĩa riêng: COM, EXE tệp chương trình ở ngôn ngữ máy. BAT tệp chứa các câu lệnh của hệ điều hành (tệp xử lý theo lô). TXT các file văn bản PAS các chương trình nguồn PASCAL Ký tự gộp * : đại diện cho dãy ký tự bất kỳ trong tên khi thao tác với tệp tin. ? : đại diện cho một ký tự bất kỳ trong tên khi thao tác với tệp tin. MS-DOS không phân biệt chữ hoa, thường trong tên tệp. VD: “Hop dong.txt”(sai); Hop_don?.txt”(sai); “congvan.vns” (đúng); “Hop_dong.txt”(đúng); 3.3.4. Thư mục và cấu trúc cây thư mục. Thư mục là một cấu trúc tổ chức lưu trữ dữ liệu trong máy tính, mỗi một thư mục có một tên gọi và mỗi một thư mục để chứa các tệp tin có liên quan với nhau, GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 46 -
  47. NhËp m«n tin häc – HÖ cao ®¼ng vµ ®¹i häc (ch­¬ng tr×nh tÝn chØ) trong mỗi thư mục người dùng có thể tạo các thư mục khác, thư mục nằm trong thư mục khác gọi là thư mục con của thư mục chứa nó, ngoài ra trong mỗi thư mục còn có thể chứa các tệp tin. Mỗi đĩa có một thư mục tạo tự động gọi là thư mục gốc. Thư mục gốc là thư mục duy nhất trên ổ đĩa mà mọi thư mục khác đều thuộc thư mục gốc (các thư mục con, cháu, của thư mục gốc). Tên thư mục gốc được ký hiệu là dấu “\”. Mỗi một ổ đĩa đều phải có một thư mục gốc. Mỗi tệp lưu trên đĩa phải thuộc về một thư mục nào đó. Cấu trúc cây thư mục: Cấu trúc thư mục trong DOS như một cái cây mà mỗi thư mục con là một cành, một nhánh. Tại mỗi thời điểm ta chỉ có thể đứng trong một thư mục nào đó, thư mục đó được gọi là thư mục hiện thời. VD: giả sử cho cây thư mục như sau: Khi đó TM1,TM2, TM3 là các thư mục con cấp 1 của thư mục gốc thuộc đĩa C, còn các thư mục TM11, TM12 là thư mục con cấp 1 của thư mục TM1 và cũng là thư mục con cấp 2 của thư mục gốc của đĩa C: Đường dẫn của TM11 là C:\TM1\, đường dẫn của TM2 là C:\, C:\ TM1 TM2 TM3 TM11 TM12 File4.txt File5.txt f1.txt f2.txt Hình 1.6. Cấu trúc cây thư mấc 3.3.5. Đường dẫn, phân loại đường dẫn Đường dẫn (path - hay còn gọi là đường địa chỉ) là cách ghi đầy đủ chỉ đến nơi lưu trữ một tệp tin hoặc một thư mục con, nó là một dãy liên tiếp tên các thư mục, có thể bắt đầu từ thư mục gốc, thư mục mẹ, thư mục con, và chúng cách nhau dấu "\". Đường dẫn không chứa tên tệp tin. Đường dẫn chính là vết giúp ta truy nhập đến một tệp tin trên ổ đĩa. Ví dụ: 1. Địa chỉ của một người bạn: Việt Nam\Hà Nội\Hai Bà Trưng\Minh khai\ngõ 5\số nhà 54 Chính là vết để ta tìm đến nhà người bạn 2. Địa chỉ truy cập đến một tệp tin f1.txt trên ổ C của máy tính \TM1\TM11 GV V­¬ng Quèc Dòng – Khoa CNTT - §¹i häc C«ng nghiÖp Hµ Néi - 47 -