Máy tính (Computer) là một thiết bị điện tử dùng để lưu trữ và xử lý thông tin theo các 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 về lịch sử và phân loại máy tính Thế hệ thứ nhất (1945-1955) máy tính dùng đèn điện tử: Trong những năm 40- 50 các thiết bị đầu tiên của máy tính điện tử được xây dựng và phát triển với. + Phần cứng: Chủ yếu là dùng đèn điện tử, độ tin cậy thấp, tốc độ chậm tiêu hao năng lượng rất lớn. Ví dụ: Chiếc...
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 tố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ở tốn học Lý thuyết tính tố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ở tốn học • Lơgic tố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 tốn tìm kiếm 69 … Lý thuyết tính tốn • Lý thuyết Ơtơmat (Automata theory) – Các cấu trúc lơgic khác sử dụng để giải tốn • Lý thuyết khả tính tốn (Computability theory) – Những tính tố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 tốn khơng thể • Lý thuyết độ phức tạp tính tố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 tốn • Thuật tốn (Algorithms) – Các q trình lơgic ngun tắc sử dụng cho việc tính tốn tính hiệu q 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à khơng phải thơng qua q 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 tốn đồng thời; an tồn liệu môi trường đa nhiệm hay đa luồng • Tính tốn phân tán (Distributed computing) – Tính tốn sử dụng nhiều thiết bị tính tốn mạng để thực nhiệm vụ mục tiêu chung • Tính tốn song song (Parallel computing) – Tính tố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 tố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 tốn, lý thuyết xác suất, lý thuyết số để kiến tạo phá mật mã 76 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 tố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ữ lồi người • Rơbơ học (Robotics) :Các thuật tố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 ... 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 ... phân, nhị phân, Hexa, Ví dụ: 2356 = x 10 3 + x 10 2 + x 10 1 + x 10 0 Một số X biểu diễn 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... ứ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