Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
1,75 MB
Nội dung
GIỚI THIỆU KHOA HỌC MÁY TÍNH NGUYỄN THANH TRUNG Chương1 – GIỚI THIỆU TỔNG QUAN 1.1 Sơ lược máy tính ngành KHMT 1.2 Biểu diễn thông tin máy tính 1.3 Các cổng logic 1.1 Sơ lược máy tính • Máy tính (Computer) thiết bị điện tử dùng để lưu trữ xử lý thông tin theo chương trình định trước • Máy tính, máy tính tương tự (Analog), máy tính số (Digital)… Sơ lược lịch sử phân loại máy tính 1.1.1.LỊCH SỬ PHÁT TRIỂN Các hệ máy tính … Blaise Pascal (Pháp1642) Charles Babbage (Anh1830) ENIAC (1946) 18.000 bóng đèn 1500 rờ le 30 140 KW Intel 8080 (1974) xem CPU tích hợp chip IBM 360 (1965) Von Neumann (1945) Cơ (1642 - 1945) +, -, X, : Đèn điện tử (1945 - 1955) Bộ nhớ dây trễ, tĩnh điện Giấy, phiếu đục lổ Băng từ PDP-1 (1961) 80x86 (1978) Transistors (1955 1965) Bộ nhớ xuyến IC ? (1965 1980) (1980 - ????) từ Băng từ, trống từ, đĩa từ *Thế hệ thứ (1945-1955) máy tính dùng đèn điện tử: Trong năm 40- 50 thiết bị máy tính điện tử xây dựng phát triển với + Phần cứng: Chủ yếu dùng đèn điện tử, độ tin cậy thấp, tốc độ chậm tiêu hao lượng lớn Ví dụ: Chiếc máy tính điện tử ENIAC(Electronic Numberical Intergrator And Calculator) John Mauchley J.Presper Eckert thiết kế Nó bao gồm 18.000 đèn điện tử, 1.500 rơle, nặng 30 tiêu thụ 140 KW điện Dùng hệ thập phân + Phần mềm: Chủ yếu dùng ngôn ngữ máy đặt công tắc bật tắt trực tiếp Ví dụ: Với ENIAC người ta phải đặt 6000 switch Máy tính ENIAC Máy IAS (Institude of Advanced Study) Do Von Neumann thiết kế, gồm thành phần sau (1947-1952) Máy tính hệ John von Neumann IAS *Thế hệ thứ hai (1955-1965) máy tính dúng thiết bị bán dẫn: + Phần cứng: Dùng linh kiện Transitor (được phòng thí nghiệm Bell phát triển năm 1948) Bộ nhớ máy tính tăng lên đáng kể trở nên nhỏ gọn Chiếc máy hệ TX-0 + Phần mềm: Đã bắt đầu sử dụng ngôn ngữ lập trình bậc cao Cobol, PL1,… 10 Mạch cộng toàn phần (tt.) C0 x y Mạch cộng bán phần S1 C1 Mạch cộng bán phần S C2 C 65 Mạch cộng nhiều bit x0 x1 x2 x3 y0 y1 y2 y3 Cộng S0 + x3x2x1x0 y3y2y1y0 S4 S3S2S1S0 Cộng Cộng Cộng S1 S2 S3 C 66 1.4 Khoa học máy tính • Computer science hay computing science • Là ngành nghiên cứu sở lý thuyết thông tin tính toán với việc thực ứng dụng chúng hệ thống máy tính 67 Các lĩnh vực khoa học máy tính • • • • • • • • • • • Cơ sở toán học Lý thuyết tính toán Cấu trúc liệu giải thuật Ngôn ngữ lập trình trình biên dịch Hệ thống phân tán, song song, tương tranh Kỹ nghệ phần mềm Kiến trúc máy tính Truyền thông Cơ sở liệu Trí tuệ nhân tạo … 68 Cơ sở toán học • Lôgic toán (Mathematical logic) – Lôgic Bool phương pháp tương ứng dùng để mô hình hóa truy vấn lôgic; Sự sử dụng phương pháp chứng minh hình thức (formal proof) • Lý thuyết số (Number theory) – Lý thuyết chứng minh khảo nghiệm việc tìm chứng minh giới hạn số nguyên Lý thuyết số sử dụng mật mã học đồng thời dùng phương thức kiểm thử trí tuệ nhân tạo • Lý thuyết đồ thị (Graph theory) – Cơ sở cho cấu trúc liệu thuật toán tìm kiếm 69 … Lý thuyết tính toán • Lý thuyết Ôtômat (Automata theory) – Các cấu trúc lôgic khác sử dụng để giải toán • Lý thuyết khả tính toán (Computability theory) – Những tính toán mô hình máy tính Các chứng minh Alan Turing người khác trình bày cho biết khả tính toán • Lý thuyết độ phức tạp tính toán (Computational complexity theory) 70 Cấu trúc liệu giải thuật • Phân tích thuật toán (Analysis of algorithms) – Độ phức tạp thời gian không gian thuật toán • Thuật toán (Algorithms) – Các trình lôgic nguyên tắc sử dụng cho việc tính toán tính hiệu trình • Cấu trúc liệu (Data structures) – Tổ chức liệu quy tắc thao tác liệu 71 Ngôn ngữ lập trình trình biên dịch • Trình biên dịch (Compilers) – Những phương thức khác dùng để dịch chương trình máy tính, thường từ ngôn ngữ lập trình bậc cao sang ngôn ngữ lập trình bậc thấp • Trình thông dịch (Interpreter) – Một chương trình sử dụng để biên dịch thi hành trực tiếp chương trình phần mềm khác dùng máy tính mà thông qua trình biên dịch • Ngôn ngữ lập trình (Programming languages) – Các khuôn mẫu ngôn ngữ dùng để biểu diễn thuật toán … 72 Hệ thống phân tán, song song, tương tranh • Tương tranh (Concurrency) – Lý thuyết thực tiễn tính toán đồng thời; an toàn liệu môi trường đa nhiệm hay đa luồng • Tính toán phân tán (Distributed computing) – Tính toán sử dụng nhiều thiết bị tính toán mạng để thực nhiệm vụ mục tiêu chung • Tính toán song song (Parallel computing) – Tính toán sử dụng nhiều luồng thực thi đồng thời 73 Kỹ nghệ phần mềm • Thiết kế thuật toán (Algorithm design) • Lập trình máy tính (Computer programming) • Các phương pháp hình thức (Formal methods) – Sử dụng toán học để miêu tả lập luận thiết kế phần mềm • Kỹ nghệ phần mềm (Software development) – Những nguyên lý thực hành việc thiết kế, phát triển kiểm thử chương trình, phương pháp thực hành kỹ nghệ đắn • 74 Kiến trúc máy tính • Kiến trúc máy tính (Computer architecture) – Việc thiết kế, tổ chức, tối ưu hóa kiểm định hệ thống máy tính, chủ yếu CPU tiểu hệ nhớ máy tính (và hệ thống bus nối chúng) • Tổ chức máy tính (Computer organization) – Nghiên cứu kiến trúc máy tính sở mô tả mạch điện, xử lý trung tâm, xử lý tín hiệu số máy tính • Hệ điều hành – Những hệ thống dùng để quản lý tài nguyên máy tính cung cấp tảng cho hệ thống khả dụng 75 Truyền thông • Xử lý âm máy tính (Computer audio) – Những thuật toán cấu trúc liệu dùng để kiến tạo, thao tác, lưu trữ, truyền ghi âm kỹ thuật số (digital audio), nhận dạng giọng nói (voice recognition) • Mạng máy tính (Computer networking) – Các giao thức dành cho việc truyền thông liệu cách đáng tin cậy qua môi trường truyền thông chuyên dụng chia sẻ khác Thường bao gồm việc sửa lỗi (error correction) truyền thông • Mật mã học (Cryptography) – Áp dụng kết lý thuyết độ phức tạp tính toán, 76 lý thuyết xác suất, lý thuyết số để kiến tạo phá mật Cơ sở liệu • Khai phá liệu (Data mining) – Nghiên cứu phương pháp sàng lọc, rút thông tin cần thiết từ nguồn liệu khác • Cơ sở liệu quan hệ (Relational databases) – Nghiên cứu thuật toán tìm kiếm xử lý thông tin tài liệu sở liệu; có quan hệ gần gũi với ngành thu thập thông tin (information retrieval) • CSDL hướng đối tượng,… 77 Trí tuệ nhân tạo • Trí tuệ nhân tạo (Artificial intelligence) – Sự nghiên cứu thực thi hệ thống có khả tự thể trí thông minh tự biểu đạt hành vi thân • Lập luận tự động (Automated reasoning) – Nghiên cứu động giải toán, chẳng hạn sử dụng Prolog, động tạo bước dẫn đến kết cho trước truy vấn kiện sở liệu gồm luật (rule database) • Máy học (Machine learning) – Nghiên cứu việc tự động tạo nhóm luật tiên đề dựa liệu cho trước • Xử lý ngôn ngữ tự nhiên – Tự động hóa việc tiếp thu kiến tạo ngôn ngữ loài người • Rôbô học (Robotics) :Các thuật toán điều khiển hành vi rôbô 78 Bài tập • Tìm hiểu lỗi truyền thông chế kiểm tra, sửa lỗi: – Parity bit – Mã sữa lỗi • Nộp báo cáo viết tay khoảng 12 trang A4 (tính vào điểm BTCN) • Tuần sau nộp 79 [...]... (cơ số 2): Dùng tập số {0 ,1} , Ví dụ: 10 0 011 10b; 11 000 010 b Hệ bát phân (cơ số 8): Dùng tập số {0 ,1, 7} Thập lục phân - HexaDecimal (cơ số 16 ): Dùng tập số {0 ,1, 9,A,B,C,D,E,F}, Ví dụ: AC0Dh, 12 3h, 28 Số hệ 10 Số hệ 16 Số hệ 2 0 0 0000 1 1 00 01 2 2 0 010 3 3 0 011 4 4 010 0 5 5 010 1 6 6 011 0 7 7 011 1 8 8 10 00 9 9 10 01 10 A 10 10 11 B 10 11 12 C 11 00 13 D 11 01 14 E 11 10 15 F 11 11 29 Chuyển đổi giữa các hệ... Vd: 12 d = 11 00b •Thập phân Hexa: tương tự ta chia liên tiếp cho 16 •Nhị phân Thập phân : Dùng công thức (1) •Hexa thập phân : Dùng công thức (1) 30 Chuyển đổi giữa các hệ đếm (tt) •Nhị phân Hexa: Nhóm 4 bit (Nibble) của số nhị phân tương ứng 1 số Hexa (Nhóm từ phải sang) Ví dụ: 10 0 11 00 011 0 10 10b = 4C6Ah •Hexa nhị phân: Cứ 1 số Hexa tương ứng 4 số nhị phân Ví dụ: 1ADFh= 00 01 1 010 11 01 111 1b... phát triển như vũ bão làm cho tin học len lỏi vào mọi ứng dụng trong cuộc sống 13 Thế hệ thứ 5: Người máy ? Hiện nay đang được nghiên cứu và phát triển dưới dạng các máy tính thông minh, robot, Ví dụ: Deep Blue, Asimo,… 14 1. 1.2.Các loại máy tính + Máy tính cá nhân (Personal Computer): Là máy tính để bàn, chỉ có một chíp xử lý và thường dùng cho một người + Máy tính Mini (Minicomputer): Thường... diễn , tính toán các giá trị Gồm: •Hệ đếm không theo vị trí: Số La mã •Hệ đếm theo vị trí: Hệ thập phân, nhị phân, Hexa, Ví dụ: 2356 = 2 x 10 3 + 3 x 10 2 + 5 x 10 1 + 6 x 10 0 Một số X bất kỳ có thể biểu diễn như sau: X = xn-1an -1 + xn-2an-2 + xn-3an-3 + + x0a0 + x-1a -1 + x-2a-2 + (1) 27 Một số hệ đếm theo vị trí thông dụng: Hệ thập phân – Decimal (cơ số 10 ): Dùng tập số {0 ,1, ,9} Ví dụ: 12 3d; 25,4... 32 Chuyển đổi giữa các hệ đếm (tt) Trường hợp nhị phân không nguyên thập phân thì áp dụng công thức (1) Ví dụ: 11 00,0 010 b = 1x 23 + 1x 22 + 0x 21 + 0x 20 + 0x 2 -1 + 0x 2-2 + 1x 2-3 = 8 + 4 +0 +0 + 0 + 0 + 0 ,12 5 = 12 ,12 5d Trường hợp số nhị phân không nguyên Hexa ? 33 34 Biểu diễn số trong máy tính Biểu diễn số nguyên Gồm số nguyên không dấu và số nguyên có dấu Biểu diễn Số nguyên không dấu Dùng... Chương trình, lập trình … 20 1. 2 Biểu diễn thông tin trong máy tính Làm thế nào để biểu diễn thông tin trong máy tính ? Ta phải dùng mã nhị phân ! Mã nhị phân là gì ? 0 011 1 010 bit (Binary Digit) Làm cách nào ? 21 Các dạng Thông tin Âm thanh Ánh sáng Độ ẩm Số Hình ảnh Điện áp Nhiệt độ Thông tin Áp suất Chữ Dòng điện Mã hóa Tổ hợp bit Xử lý 22 Mã hóa thông tin ? Thông tin để máy tính. .. hay trong hàng không + Máy tính lớn (Main Frame): Thường dùng trong các trung tâm tính toán đòi hỏi phải tốc độ xử lý tốt + Siêu máy tính (Super Computer): Là một hệ thống gồm nhiều máy lớn ghép song song có tốc độ tính toán cực kỳ lớn và thường dùng trong các lĩnh vực đặc biệt, chủ yếu trong quân sự và vũ trụ Siêu máy tính Deep Blue là một trong những chiếc thuộc loại này 15 1. 1.3.CÁC KHÁI NIỆM CƠ BẢN... là 010 000 01 Để chuyển tín hiệu âm thanh máy tính cần có bộ chuyển đổi: Card âm thanh … … 23 Đơn vị đo thông tin Đơn vị cơ bản để đo thông tin được gọi là bit 1 bit có 2 trạng thái : 0 /1 Dãy số 010 1… gọi là số nhị phân - số hệ 2 Dãy 8 bit = 1 byte Ngoài ra ta có các đơn vị lớn hơn để đo thông tin 24 Các bội số của Byte Kilobyte (KB) 1 nghìn Byte Megabyte (MB) 1 triệu Byte Gigabyte (GB) 1 tỉ... 10 10 11 01 111 1b 31 Chuyển đổi giữa các hệ đếm (tt) •Trường hợp thập phân không nguyên nhị phân thì : •phần nguyên : Chia liên tiếp cho 2, đến khi kết quả bằng 0 Đảo ngược trật tự các số dư số nhị phân tương ứng •Phần lẻ: Nhân kết quả với 2 liên tục cho đến khi hết phần lẻ Vd: 12 ,12 5d = 11 00,0 010 b vì: Phần nguyên đổi sang được 11 00 Phần lẻ : 0 ,12 5 x 2 = 0,25 x 2 = 0,5 x 2 = 1, 0 0 01 32 Chuyển đổi... Terabyte (TB) 1 Nghìn tỉ Byte Petabyte (PB) 1 nghìn triệu triệu Exabyte (EB) 10 18 Byte Zettabyte (ZB) 10 21 Byte Yottabyte (YB) 10 42 Byte p 350 Next 25 Biểu diễn các dạng thông tin cơ bản trong máy tính Dạng Số Dạng văn bản: Dạng quen thuộc gồm các chữ cái, chữ số Dạng hình ảnh: Bức tranh, bản đồ, băng hình Dạng âm thanh:Tiếng nói con người, tiếng sóng, bản nhạc Nhiệt độ… 26 1. 2 .1 Biểu diễn ... số 16 ): Dùng tập số {0 ,1, 9,A,B,C,D,E,F}, Ví dụ: AC0Dh, 12 3h, 28 Số hệ 10 Số hệ 16 Số hệ 0 0000 1 00 01 2 0 010 3 0 011 4 010 0 5 010 1 6 011 0 7 011 1 8 10 00 9 10 01 10 A 10 10 11 B 10 11 12 C 11 00 13 ... ứng số Hexa (Nhóm từ phải sang) Ví dụ: 10 0 11 00 011 0 10 10b = 4C6Ah •Hexa nhị phân: Cứ số Hexa tương ứng số nhị phân Ví dụ: 1ADFh= 00 01 1 010 11 01 111 1b 31 Chuyển đổi hệ đếm (tt) •Trường hợp thập.. .Chương1 – GIỚI THIỆU TỔNG QUAN 1. 1 Sơ lược máy tính ngành KHMT 1. 2 Biểu diễn thông tin máy tính 1. 3 Các cổng logic 1. 1 Sơ lược máy tính • Máy tính (Computer) thiết