Xem mẫu

  1. UỶ BAN NHÂN DÂN TỈNH ĐỒNG THÁP TRƢỜNG CAO ĐẲNG CỘNG ĐỒNG ĐỒNG THÁP GIÁO TRÌNH MÔN HỌC: KIẾN TRÚC MÁY TÍNH NGÀNH, NGHỀ: TIN HỌC VĂN PHÒNG TRÌNH ĐỘ: TRUNG CẤP (Ban hành kèm theo Quyết định số /QĐ-CĐCĐ ngày tháng năm 20… của Hiệu trƣởng trƣờng Cao đẳng Cộng đồng Đồng Tháp) Đồng Tháp, năm 2018
  2. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể đƣợc phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm.
  3. LỜI GIỚI THIỆU Cấu trúc máy tính là một thuật ngữ thƣờng đƣợc sử dụng để nói về các vấn đề liên quan đến tổ chức và thiết kế các máy tính điện tử số. Nội dung của nghiên cứu này gắn liền với việc thiết kế phần cứng của các hệ thống máy tính cũng nhƣ việc thiết kế đó phụ thuộc vào các hệ thống phần mềm. Trong kỹ thuật máy tính, cấu trúc máy tính là mô tả các khái niệm và cấu trúc hoạt động căn bản của một hệ thống máy tính. Nó là một bản mô tả có tính chất chức năng về các yêu cầu và những sự hoạt động cho những bộ phận khác nhau của một máy tính - tập trung chủ yếu vào cách tổ chức bên trong hệ thống máy tính, việc CPU hoạt động nội tại nhƣ thế nào và truy cập các địa chỉ trong bộ nhớ bằng cách nào. Nó cũng có thể đƣợc định nghĩa nhƣ là khoa học và nghệ thuật lựa chọn và kết nối các thành phần phần cứng để tạo thành các máy tính đáp ứng đƣợc các mục đích về tính năng, hiệu suất và giá cả. Cấu trúc máy tính bao gồm:  Vi kiến trúc (Microarchitecture), còn gọi là tổ chức máy tính (Computer organization) là một mô tả bậc thấp, cụ thể hơn về hệ thống. Mô tả này nói về các bộ phận cấu thành của hệ thống đƣợc kết nối với nhau nhƣ thế nào và chúng hoạt động tƣơng hỗ nhƣ thế nào để thực hiện kiến trúc tập lệnh.  Thiết kế hệ thống (System Design) bao gồm tất cả các thành phần phần cứng khác bên trong một hệ thống tính toán chẳng hạn: - Các đƣờng kết nối hệ thống nhƣ bus (máy tính) và switch - Các bộ điều khiển bộ nhớ (memory controller) và các cấp bộ nhớ - Các cơ chế CPU off-load nhƣ Direct memory access (truy nhập bộ nhớ trực tiếp) - Các vấn đề nhƣ đa xử lý (multi-processing). Nội dung bài giảng đƣợc phân bố gồm 4 chƣơng: Chƣơng 1: Tổng quan về kiến trúc máy tính Giới thiệu lịch sử và thành quả phát triển của các loại máy tính điện tử; các khái niệm cơ bản về thông tin, phƣơng pháp mã hóa thông tin trong máy tính điện tử Chƣơng 2: Bộ xử lý
  4. Giới thiệu tổ chức, nguyên lý hoạt động của các bộ phận bên trong bộ xử lý nhằm thực hiện nhiệm vụ mà kiến trúc phần mềm đã đề ra; các kỹ thuật nâng cao hiệu quả hoạt động của các bộ xử lý hiện đại. Chƣơng 3: Các cấp bộ nhớ Giới thiệu chức năng, nguyên lý hoạt động của các loại bộ nhớ, tổ chức các cấp bộ nhớ và các kỹ thuật nâng cao hiệu quả hoạt động của bộ nhớ trong máy tính điện tử Chƣơng 4: Nhập – Xuất Giới thiệu chức năng, nhiệm vụ các thiết bị nhập xuất trong hệ thống máy tính; nguyên tắc hoạt động của một số thiết bị lƣu trữ thông dụng; giới thiệu hệ thống kết nối cơ bản giữa các bộ phận trong máy tính và cách giao tiếp giữa ngoại vi và bộ xử lý; phƣơng pháp lƣu trữ an toàn dữ liệu trên đĩa cứng. Để hoàn thiện giáo trình này tác giả xin chân thành cảm ơn tất cả các Thầy cô là giảng viên trƣờng Cao đẳng Cộng đồng Đồng Tháp, trƣờng Cao đẳng Nghề An Giang, trƣờng Trung cấp Hồng Ngự, trƣờng Trung cấp Tháp Mƣời; các Anh (Chị) đại diện Sở Lao động Thƣơng binh và Xã hội, đại diện các công ty, doanh nghiệp đã tham gia đóng góp ý kiến. Mặc dù tác giả đã có nhiều cố gắng trong việc biên soạn tài liệu này, song không thể tránh khỏi những thiếu sót. Rất mong nhận đƣợc những ý kiến đóng góp quý báu từ các bạn đọc để bài giảng ngày càng hoàn thiện hơn. Đồng Tháp, ngày 30 tháng 10 năm 2019 Chủ biên Huỳnh Văn Khỏe
  5. MỤC LỤC  Trang LỜI GIỚI THIỆU ................................................................................................... 1 CHƢƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC MÁY TÍNH ................................ 1 1. Một số khái niệm và nguyên lý cơ bản ........................................................... 1 1.1. Nguyên tắc tổ chức.................................................................................... 1 1.2. Ngôn ngữ máy và cấp kiến trúc máy tính ................................................. 2 2. Lịch sử phát triển và ứng dụng của máy tính điện tử ...................................... 4 2.1. Lịch sử phát triển....................................................................................... 4 2.2. Phân loại máy tính ..................................................................................... 7 2.3. Các lĩnh vực ứng dụng của máy tính ........................................................ 8 3. Các hệ thống số ............................................................................................... 8 3.1. Nguyên lý của việc viết số ........................................................................ 8 3.2. Biến đổi qua lại giữa các hệ thống số ..................................................... 11 4. Thông tin và mã hóa thông tin ...................................................................... 19 4.1. Số nguyên có dấu .................................................................................... 19 4.2. Cách biểu diễn số với dấu chấm động .................................................... 21 4.3. Biểu diễn các số thập phân ...................................................................... 23 4.4. Biểu diễn các ký tự ................................................................................... 23 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 1................................................................. 28 CHƢƠNG 2: BỘ XỬ LÝ .................................................................................... 30 1. Các thành phần cơ bản của một máy tính ..................................................... 30 2. Kiến trúc CISC, RISC ................................................................................... 32 2.1. Bộ điều khiển vi chƣơng trình (CISC) .................................................... 34 2.2. Bộ điều khiển mạch điện tử .................................................................... 34 3. Tổ chức bộ xử lý trung tâm CPU .................................................................. 35 3.1. Đƣờng đi dữ liệu ..................................................................................... 35 3.2. Các yếu tố tác động đến hiệu suất của CPU ........................................... 36 i
  6. 3.3. Nguyên lý hoạt động của CPU ................................................................ 38 3.4. Phân loại CPU ......................................................................................... 39 4. Thực hiện lệnh mã máy bên trong bộ xử lý ...................................................... 40 4.1. Đọc lệnh ..................................................................................................... 41 4.2. Giải mã lệnh và đọc các thanh ghi nguồn .................................................. 41 4.3. Thi hành lệnh ............................................................................................. 41 4.4. Thâm nhập bộ nhớ trong hoặc nhảy lần cuối............................................. 42 4.5. Lƣu trữ kết quả ........................................................................................... 42 5. Ngắt quãng ..................................................................................................... 42 6. Kỹ thuật ống dẫn............................................................................................ 43 7. Khó khăn trong kỹ thuật ống dẫn .................................................................. 45 7.1. Khó khăn do cấu trúc ................................................................................. 45 7.2. Khó khăn do số liệu ................................................................................... 45 7.3. Khó khăn do điều khiển ............................................................................. 46 8. Siêu ống dẫn .................................................................................................. 47 9. Siêu vô hƣớng ................................................................................................ 48 10. Máy tính song song ........................................................................................ 49 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 2 ................................................................. 53 CHƢƠNG 3: CÁC CẤP BỘ NHỚ ...................................................................... 54 1. Phân loại các bộ nhớ bán dẫn ........................................................................ 54 2. Các cấp bộ nhớ .............................................................................................. 59 3. Bộ nhớ Cache ................................................................................................ 60 3.1. Hiệu quả của Cache ................................................................................... 67 3.2. Cache duy nhất, cache riêng lẻ .................................................................. 68 3.3. Các mức Cache .......................................................................................... 68 4. Bộ nhớ trong .................................................................................................. 69 5. Bộ nhớ ảo ....................................................................................................... 71 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 3 ................................................................. 77 CHƢƠNG 4: NHẬP – XUẤT.............................................................................. 79 ii
  7. 1. Đĩa từ ............................................................................................................. 79 2. Đĩa cứng thể rắn – SSD ................................................................................... 81 3. Đĩa quang....................................................................................................... 82 4. Các loại thẻ nhớ ............................................................................................. 83 5. Bus nối ngoại vi vào bộ xử lý và bộ nhớ trong ............................................. 84 6. Các chuẩn về bus ........................................................................................... 87 7. Giao diện giữa bộ xử lý với các thiết bị vào ra ............................................. 87 8. Một số biện pháp an toàn dữ liệu trong việc lƣu trữ thông tin trong đĩa từ .. 89 CÂU HỎI CHƢƠNG 4 ....................................................................................... 95 TÀI LIỆU THAM KHẢO .................................................................................... 96 iii
  8. GIÁO TRÌNH MÔN HỌC Tên môn học: CẤU TRÚC MÁY TÍNH Mã mô đun: MH09 Thời gian thực hiện mô đun: 90 giờ (Lý thuyết: 45 giờ; thực hành, thí nghiệm, thảo luận, bài tập: 41 giờ; kiểm tra: 4 giờ) I. VỊ TRÍ, TÍNH CHẤT MÔN HỌC: - Vị trí: Môn học Kiến trúc máy tính đƣợc bố trí học sau các môn học chung, các môn tin học đại cƣơng, tin học văn phòng, kỹ thuật điện-điện tử và học cùng với mô đun lắp ráp cài đặt máy tính. - Tính chất: Là môn học kỹ thuật cơ sở thuộc môn học đào tạo nghề bắt buộc. II. MỤC TIÊU MÔN HỌC: - Trình bày đƣợc lịch sử của máy tính, các thế hệ máy tính và cách phân loại máy tính. - Mô tả các thành phần cơ bản của kiến trúc máy tính, các tập lệnh. Các kiểu kiến trúc máy tính: mô tả kiến trúc, các kiểu định vị. - Trình bày đƣợc cấu trúc của bộ xử lý trung tâm: tổ chức, chức năng và nguyên lý hoạt động của các bộ phận bên trong bộ xử lý. - Mô tả diễn tiến thi hành một lệnh mã máy và một số kỹ thuật xử lý thông tin: ống dẫn, siêu ống dẫn, siêu vô hƣớng. - Trình bày đƣợc chức năng và nguyên lý hoạt động của các loại bộ nhớ. - Trình bày phƣơng pháp lƣu trữ dữ liệu đối với bộ nhớ ngoài. - Cài đặt đƣợc chƣơng trình và các lệnh điều khiển cơ bản trong Assembly để thực hiện bài toán theo yêu cầu. - Bố trí làm việc khoa học đảm bảo an toàn cho ngƣời và phƣơng tiện học tập. III. NỘI DUNG MÔN HỌC: 1. Nội dung tổng quát và phân phối thời gian : Thời gian (giờ) Thực hành, thí Số Tên các bài trong mô đun Tổng Lý nghiệm, Kiểm TT số thuyết thảo tra luận, bài tập I Tổng quan về kiến trúc máy tính 10 5 5 Các mốc lịch sử phát triển công nghệ máy tính Thông tin và sự mã hóa thông tin Đặc điểm của các thế hệ máy tính điện tử Kiến trúc và tổ chức máy tính Các mô hình kiến trúc máy tính iv
  9. II Kiến trúc tập lệnh của máy tính 13 8 4 1 Các thành phần cơ bản của một máy tính Kiến trúc các tập lệnh CISC và RISC Mã lệnh III Bộ xử lý 9 4 4 1 Sơ đồ khối của bộ xử lý Đƣờng dẫn dữ liệu Bộ điều khiển Tiến trình thực hiện lệnh máy Kỹ thuật ống dẫn lệnh Kỹ thuật siêu ống dẫn lệnh Các chƣớng ngại của ống dẫn lệnh Các loại ngắt IV Bộ nhớ 13 8 4 1 Phân loại bộ nhớ Các loại bộ nhớ bắn dẫn Hệ thống nhớ phân cấp Kết nối bộ nhớ với bộ xử lý Các tổ chức cache V Thiết bị nhớ ngoài 15 5 10 Các thiết bị nhớ trên vật liệu từ Thiết bị nhớ quang học Các loại thẻ nhớ An toàn dữ liệu trong lƣu trữ VI Các loại bus 10 5 5 Định nghĩa bus, bus hệ thống Bus đồng bộ và không đồng bộ Hệ thống bus phân cấp Các loại bus sử dụng trong các hệ thống vi xử lý VII Ngôn ngữ Assembly 20 10 9 1 Tổng quan Cấu trúc chƣơng trình Các lệnh điều khiển Ngăn xếp và các thủ tục Cộng 90 45 41 4 . v
  10. CHƢƠNG 1 TỔNG QUAN VỀ KIẾN TRÚC MÁY TÍNH Mã chƣơng: MH09-01 Giới thiệu Sự phát triển của máy tính đƣợc mô tả dựa trên sự tiến bộ của các công nghệ chế tạo các linh kiện cơ bản của máy tính nhƣ: bộ xử lý, bộ nhớ, các thiết bị ngoại vi,… Ta có thể nói máy tính điện tử số trải qua bốn thế hệ liên tiếp. Việc chuyển từ thế hệ trƣớc sang thế hệ sau đƣợc đặc trƣng bằng một sự thay đổi cơ bản về công nghệ. Nội dung chƣơng 1 cung cấp cho sinh viên kiến thức về lịch sử và thành quả phát triển của các loại máy tính điện tử; các khái niệm cơ bản về thông tin, phƣơng pháp mã hóa thông tin trong máy tính điện tử. Mục tiêu Giới thiệu lịch sử và thành quả phát triển của các loại máy tính điện tử; các khái niệm cơ bản về thông tin, phƣơng pháp mã hóa thông tin trong máy tính điện tử. 1. Một số khái niệm và nguyên lý cơ bản 1.1. Nguyên tắc tổ chức Máy tính là một khái niệm chỉ mọi phƣơng tiện thƣờng dùng để thực hiện các phép biến đổi toán học nhƣ: que tính, bàn tính, máy tính điện cơ, máy tính điện tử,… Do đƣợc xây dựng trên cơ sở sử dụng các linh kiện và mạch điện tử nhƣ: transistor, vi mạch bán dẫn, … máy tính điện tử là một loại thiết bị tự động cho phép thu thập, lƣu trữ và xử lý các dữ liệu rất hiệu quả. Tùy thuộc nguyên lý hoạt động máy tính điện tử đƣợc phân thành hai loại: máy tính tƣơng tự và máy tính số. Máy tính tƣơng tự (analog computer) hoạt động với tín hiệu tƣơng tự có biên độ biến thiên một cách liên tục theo thời gian. Máy tính số (digital computer) chỉ làm việc với các tín hiệu số, đó là loại tín hiệu tƣơng tự đã đƣợc rời rạc hóa về thời gian và lƣợng tử hóa về biên độ. Ngày nay, do máy tính số đƣợc dùng rất phổ biến nên khi nói đến máy tính thƣờng hiểu ngầm là máy tính số. Một máy tính số đƣợc phát triển trên cơ sở của 2 phần: phần cứng và phần mềm. phần cứng (hardware) gồm những đối tƣợng vật lý hữu hình nhƣ: vi mạch, 1
  11. bản mạch in, bộ nhớ, màn hình, bàn phím … Phần mềm (software) gồm các thuật giải và sự thể hiện trên máy tính của nó là các chƣơng trình. Các chƣơng trình bao gồm các lệnh hay chỉ thị. Chƣơng trình có thể nhập vào máy tính từ bàn phím, trình bày trên màn hình, ghi trên đĩa từ … mà nội dung chủ yếu của nó là các dãy lệnh. Từ đầu những năm 80, do áp dụng những thành tựu về công nghệ phần cứng hiện đại, đặc biệt là kỹ thuật mạch tích hợp, với cùng một khả năng tính toán các máy tính có kích thƣớc, công suất tiêu hao đủ nhỏ và giá thành giảm xuống thấp cho phép một cá nhân có thể sở hữu một máy tính. Từ đó máy tính cá nhân (personal computer - PC) hay máy vi tính (microcomputer) ra đời, theo đúng tên gọi của nó là máy tính có thể sử dụng cho một ngƣời, khác với máy tính lớn (mainframe) đƣợc dùng bởi nhiều ngƣời qua các thiết bị đầu cuối (terminal). Chính sự khác biệt này đã mở ra một kỷ nguyên áp dụng PC trong rất nhiều lĩnh vực khoa học công nghệ và đời sống. 1.2. Ngôn ngữ máy và cấp kiến trúc máy tính Một chuỗi các lệnh mô tả cách thực hiện một công việc nào đó trong máy tính gọi là chƣơng trình. Các mạch điện tử trong máy tính số có thể nhận biết và thực thi trực tiếp một tập giới hạn các lệnh đơn giản. Các mạch này đƣợc xây dựng trên cơ sở nhận biết và xử lý các số nhị phân. Muốn thực thi các chƣơng trình trƣớc tiên phải biến đổi chúng sang các lệnh cơ bản của một tập lệnh mã máy (dạng nhị phân) nhất định để thi hành. Các lệnh cơ bản đó có thể hình thành nên một ngôn ngữ có khả năng giúp con ngƣời liên lạc với máy tính. Đó là ngôn ngữ máy do các hãng sản xuất máy tính cung cấp cho ngƣời dùng. Tập lệnh mã máy này đƣợc chọn lựa khi thiết kế máy tính dựa trên các cơ sở phù hợp với khả năng và các yêu cầu về hiệu suất của máy. Các lệnh cũng nhƣ số liệu trong tập lệnh máy đều là những số nhị phân, ngôn ngữ máy này gọi là L1. Ngôn ngữ L1 không gần gũi với con ngƣời nên cần thiết kế các tập lệnh mới sao cho gần gũi hơn với ngôn ngữ con ngƣời. các lệnh mới này cũng hình thành một ngôn ngữ gọi là ngôn ngữ L2. Có 2 phƣơng pháp cho phép thực thi các chƣơng trình viết bằng L2. Thứ nhất, trƣớc tiên thay thế mỗi lệnh của L2 bằng một chuỗi các lệnh tƣơng đƣơng trong ngôn ngữ máy L1, đây đƣợc gọi là quá trình dịch. Thứ hai, viết một chƣơng trình đặc biệt bằng L1, chƣơng trình này xem các chƣơng trình viết bằng L2 nhƣ là dữ liệu vào và thực thi chúng bằng cách khảo sát tuần tự từng lệnh và thi hành trực tiếp chuỗi các lệnh tƣơng đƣơng trong L1, đây đƣợc gọi là thông dịch và chƣơng trình thực hiện sự thông dịch gọi là trình thông dịch. 2
  12. Cũng nhƣ vậy, có thể phát triển một tập các lệnh mới nữa hƣớng về con ngƣời hơn để hình thành ngôn ngữ mới L3. Các chƣơng trình viết trong L3 hoặc sẽ đƣợc dịch sang L2 hoặc đƣợc thực thi bởi một trình thông dịch viết trong L2. Việc phát triển ra một chuỗi các ngôn ngữ, mỗi ngôn ngữ thích hợp hơn so với ngôn ngữ trƣớc đó có thể tiếp tục không ngừng cho đến khi nhận đƣợc ngôn ngữ thích hợp nhất. Chỉ có các chƣơng trình viết bằng ngôn ngữ máy cấp L1 mới đƣợc thực thi trực tiếp bởi các mạch điện tử mà không cần sự can thiệp của biên dịch hoặc thông dịch. Các chƣơng trình viết bằng L2, L3, …, Ln hoặc phải đƣợc thông dịch bởi một trình thông dịch chạy trên cấp thấp hơn hoặc phải đƣợc dịch sang ngôn ngữ khác tƣơng ứng với cấp thấp hơn. Máy tính đƣợc xem xét nhƣ là một hệ thống các cấp có thứ bậc cho ta một kiến trúc hoặc một cơ cấu tổ chức tốt nhằm tìm hiểu cách tổ chức các máy tính. Cấp ngôn ngữ bậc cao và 5 hƣớng đối tƣợng Dịch (trình biên dịch) 4 Cấp hợp ngữ Trình hợp dịch Cấp máy 3 hệ điều hành Dịch một phần Cấp lệnh máy 2 (lệnh vĩ mô) Trình thông dịch Cấp vi lệnh 1 (lệnh vi mô) Các vi chƣơng trình Cấp logic số 0 (các mạch điện tử số) Hình 1.1 Cấu trúc phân cấp của máy tính cơ bản Cấp 0, cấp logic số là phần cứng của máy tính trong đó các mạch điện tử của cấp này thực thi các chƣơng trình ngôn ngữ máy của cấp 1. Cấp 1, cấp ngôn ngữ máy thực sự. ở đây có một chƣơng trình gọi là vi chƣơng trình (microprogram) làm nhiệm vụ thông dịch các lệnh của cấp 2. Mỗi máy cấp 1 có một hoặc nhiều vi chƣơng trình chạy trên chúng. Mỗi vi chƣơng trình xác định hoàn toàn một ngôn ngữ cấp 2, đây là cấp máy quy ƣớc. 3
  13. Cấp 3 thƣờng là cấp hỗn hợp, hầu hết các lệnh trong ngôn ngữ cấp này cũng ở trong ngôn ngữ cấp 2, thêm vào đó lại có một tập các lệnh mới, một tổ chức bộ nhớ khác, khả năng chạy hai hay nhiều chƣơng trình song song và nhiều đặc trƣng khác. Các tiện nghi mới thêm vào ở đây đƣợc thực thi bởi một trình thông dịch chạy trên cấp 2 gọi là hệ điều hành (operating system) Cấp 4 gọi là cấp hợp ngữ (assembly language level), cấp này cung cấp các từ gợi nhớ, cho phép thuận tiện trong việc viết chƣơng trình hơn. Các chƣơng trình viết bằng hợp ngữ trƣớc tiên đƣợc dịch sang ngôn ngữ cấp 1, 2 hoặc 3, sau đó đƣợc thông dịch bởi máy ảo hoặc thực tƣơng ứng. Chƣơng trình thực hiện việc dịch gọi là trình hợp dịch (assembler) Cấp 5 bao gồm các ngôn ngữ đƣợc thiết kế dành cho những ngƣời lập trình ứng dụng. Chúng đƣợc gọi là ngôn ngữ cấp cao nhƣ: Pascal, C, Fortran, … và các ngôn ngữ lập trình hƣớng đối tƣợng nhƣ C++, J++. Các chƣơng trình viết bằng ngôn ngữ này thƣờng đƣợc dịch sang cấp 3 hoặc cấp 4 bằng các trình dịch gọi là trình biên dịch (compiler). Còn các cấp trên nữa bao gồm những tập hợp các chƣơng trình đƣợc thiết kế để tạo ra các máy dành riêng cho các ứng dụng đặc biệt nhƣ trong quản lý, giáo dục, thiết kế chip,… Tóm lại, các máy tính đƣợc thiết kế thành một chuỗi các cấp, mỗi cấp đƣợc xây dựng trên cấp trƣớc đó. Mỗi cấp biểu thị một quan điểm trừu tƣợng riêng, với các đối tƣợng và các thao tác khác nhau. 2. Lịch sử phát triển và ứng dụng của máy tính điện tử 2.1. Lịch sử phát triển Sự phát triển của máy tính đƣợc xác định dựa trên sự tiến bộ của các công nghệ chế tạo các linh kiện cơ bản của máy tính nhƣ: bộ xử lý, bộ nhớ, các ngoại vi,…Ta có thể nói máy tính điện tử số trải qua bốn thế hệ liên tiếp. Việc chuyển từ thế hệ trƣớc sang thế hệ sau đƣợc đặc trƣng bằng một sự thay đổi cơ bản về công nghệ. 2.1.1. Thế hệ thứ nhất (1946-1957) 4
  14. Hình 1.2 Máy tính ENIAC ENIAC (Electronic Numerical Integrator and Computer) là máy tính điện tử số đầu tiên do Giáo sƣ Mauchly và ngƣời học trò Eckert tại Đại học Pennsylvania thiết kế vào năm 1943 và đƣợc hoàn thành vào năm 1946. Đây là một máy tính khổng lồ với thể tích dài 20 mét, cao 2,8 mét và rộng vài mét. ENIAC bao gồm: 18.000 đèn điện tử, 1.500 công tắc tự động, cân nặng 30 tấn, và tiêu thụ 140KW giờ. Nó có 20 thanh ghi 10bit (tính toán trên số thập phân). Có khả năng thực hiện 5.000 phép toán cộng trong một giây. Công việc lập trình bằng tay bằng cách đấu nối các đầu cắm điện và dùng các ngắt điện. Giáo sƣ toán học John Von Neumann đã đƣa ra ý tƣởng thiết kế máy tính IAS (Princeton Institute for Advanced Studies): chƣơng trình đƣợc lƣu trong bộ nhớ, bộ điều khiển sẽ lấy lệnh và biến đổi giá trị của dữ liệu trong phần bộ nhớ, bộ làm toán và luận lý (ALU: Arithmetic And Logic Unit) đƣợc điều khiển để tính toán trên dữ liệu nhị phân, điều khiển hoạt động của các thiết bị vào ra. Đây là một ý tƣởng nền tảng cho các máy tính hiện đại ngày nay. Máy tính này còn đƣợc gọi là máy tính Von Neumann 5
  15. Hình 1.3 Cấu trúc máy tính IAS 2.1.2. Thế hệ thứ 2 (1958 – 1964) Công ty Bell đã phát minh ra transistor vào năm 1947 và do đó thế hệ thứ hai của máy tính đƣợc đặc trƣng bằng sự thay thế các đèn điện tử bằng các transistor lƣỡng cực. Tuy nhiên, đến cuối thập niên 50, máy tính thƣơng mại dùng transistor mới xuất hiện trên thị trƣờng. Kích thƣớc máy tính giảm, rẻ tiền hơn, tiêu tốn năng lƣợng ít hơn. Vào thời điểm này, mạch in và bộ nhớ bằng xuyến từ đƣợc dùng. Ngôn ngữ cấp cao xuất hiện (nhƣ FORTRAN năm 1956, COBOL năm 1959, ALGOL năm 1960) và hệ điều hành kiểu tuần tự (Batch Processing) đƣợc dùng. Trong hệ điều hành này, chƣơng trình của ngƣời dùng thứ nhất đƣợc chạy, xong đến chƣơng trình của ngƣời dùng thứ hai và cứ thế tiếp tục 2.1.3. Thế hệ thứ 3 (1965 – 1971) Thế hệ thứ ba đƣợc đánh dấu bằng sự xuất hiện của các mạch kết (mạch tích hợp - IC: Integrated Circuit). Các mạch kết độ tích hợp mật độ thấp (SSI: Small Scale Integration) có thể chứa vài chục linh kiện và kết độ tích hợp mật độ trung bình (MSI: Medium Scale Integration) chứa hàng trăm linh kiện trên mạch tích hợp. Mạch in nhiều lớp xuất hiện, bộ nhớ bán dẫn bắt đầu thay thế bộ nhớ bằng xuyến từ. Máy tính đa chƣơng trình và hệ điều hành chia thời gian đƣợc dùng. 2.1.4. Thế hệ thứ 4 (1972 đến nay) Thế hệ thứ tƣ đƣợc đánh dấu bằng các IC có mật độ tích hợp cao (LSI: Large Scale Integration) có thể chứa hàng ngàn linh kiện. Các IC mật độ tích hợp rất cao (VLSI: Very Large Scale Integration) có thể chứa hơn 10 ngàn linh kiện trên mạch. Hiện nay, các chip VLSI chứa hàng triệu linh kiện. 6
  16. Với sự xuất hiện của bộ vi xử lý (microprocessor) chứa cả phần thực hiện và phần điều khiển của một bộ xử lý, sự phát triển của công nghệ bán dẫn các máy vi tính đã đƣợc chế tạo và khởi đầu cho các thế hệ máy tính cá nhân. Các bộ nhớ bán dẫn, bộ nhớ cache, bộ nhớ ảo đƣợc dùng rộng rãi. Các kỹ thuật cải tiến tốc độ xử lý của máy tính không ngừng đƣợc phát triển: kỹ thuật ống dẫn, kỹ thuật vô hƣớng, xử lý song song mức độ cao, … 2.2. Phân loại máy tính Để phân loại máy tính ngƣời ta dựa vào khả năng và tốc độ xử lý của máy tính. Có 4 loại máy tính: - Siêu máy tính Một siêu máy tính (supercomputer) là một máy tính vƣợt trội trong khả năng và tốc độ xử lý. Thuật ngữ Siêu Tính Toán đƣợc dùng lần đầu trong báo New York World vào năm 1920 để nói đến những bảng tính (tabulators) lớn của IBM làm cho trƣờng Đại học Columbia. Siêu máy tính hiện nay có tốc độ xử lý hàng nghìn teraflop (một teraflop tƣơng đƣơng với hiệu suất một nghìn tỷ phép tính/giây) hay bằng tổng hiệu suất của 6.000 chiếc máy tính cá nhân hiện đại nhất hiện nay gộp lại (một máy có tốc độ khoảng từ 3-3,8 gigaflop). Có thể hiểu siêu máy tính là hệ thống những máy tính làm việc song song Ví dụ Siêu máy tính Sequoia của IBM có tốc độ tính toán 504 tỷ phép tính/giây, Sequoia nhanh hơn máy tính lớn của Fujitsu 1,55 lần và sử dụng hơn 1,5 triệu bộ xử lý. Trong khi đó máy tính lớn của Fujitsu có số đơn vị xử lý (CPU) ít hơn gần một nửa. Về năng lƣợng, siêu máy tính của IBM cũng tiết kiệm hơn khi nó tiêu thụ 7,9 megawatts, trong khi đó máy của Fujitsu tiêu thụ 12,6 megawatts - Máy tính lớn Máy tính lớn (Mainframe) là loại máy tính có kích thƣớc lớn đƣợc sử dụng chủ yếu bởi các công ty lớn nhƣ các ngân hàng, các hãng bảo hiểm... để chạy các ứng dụng lớn xử lý khối lƣợng lớn dữ liệu nhƣ kết quả điều tra dân số, thống kê khách hàng và doanh nghiệp, và xử lý các giao tác thƣơng mại. Hiện nay thị trƣờng máy tính lớn do IBM chiếm 99%. So với các máy tính loại nhỏ nhƣ máy tính cá nhân, máy tính lớn cũng nhƣ 1 chiếc xe tăng: vững chắc, có thể nhận hàng ngàn lệnh cùng 1 lúc. - Máy tính nhỏ (minicomputer) Là loại máy tính nhiều ngƣời sử dụng, đƣợc thiết kế để đáp ứng các yêu cầu công việc cho một công ty nhỏ. Máy tính mini mạnh hơn máy tính cá nhân 7
  17. nhƣng không mạnh bằng máy tính lớn. Nói chung có khoảng từ 4 đến 100 ngƣời có thể sử dụng máy tính mini cùng một lúc. - Máy tính cá nhân (Personal computer - PC) Là một loại máy vi tính nhỏ với giá cả, kích thƣớc và sự tƣơng thích của nó khiến nó hữu dụng cho từng cá nhân 2.3. Các lĩnh vực ứng dụng của máy tính Trong các lĩnh vực khoa học và đời sống, máy tính số có thể đƣợc sử dụng trong 3 mục đích sau: - Máy tính dùng để xử lý dữ liệu Một máy tính có thể đƣợc coi nhƣ là một bộ xử lý dữ liệu, ví dụ nhƣ để tính tổng số tiền công phải trả cho từng nhân viên trong cơ quan. Mục đích của chƣơng trình ở đây là dùng các dữ liệu nhập vào, xử lý tính toán chúng rồi lƣu trữ các kết quả vào bộ nhớ, các kết quả đó có thể hiện lên màn hình, in ra giấy in hoặc lƣu trữ vào đĩa - Máy tính là một xử lý số Máy tính thƣờng dùng nhiều thời gian cho việc xử lý các dữ liệu dƣới dạng các ký hiệu biểu diễn cho các thông tin, hoặc có khi máy tính lại đƣợc sử dụng trong những ứng dụng liên quan đến một số lƣợng rất lớn các phép tính số học đôi khi lên tới hàng tỉ phép tính cho một công việc, lúc này máy tính đóng vai trò là một bộ xử lý số. các máy tính dùng trong xử lý số thƣờng là các máy mạnh, có bộ xử lý rất đắt, bộ nhớ chính có tốc độ truy cập rất cao và các thiết bị ngoại vi cùng bộ nhớ ngoài tƣơng đối hiện đại. - Máy tính dùng trong đo lƣờng và điều khiển tự động Do giá thành ngày càng rẻ, máy tính ngày nay còn đƣợc đặt ở trung tâm của nhiều hệ thống điều khiển tự động. Khi sử dụng nhƣ một phần tử điều khiển, máy tính thƣờng đƣợc gắn vào một hệ thống lớn hơn và ngƣời sử dụng thƣờng không thấy đƣợc cụ thể là đã có một máy tính trong đó. 3. Các hệ thống số 3.1. Nguyên lý của việc viết số Một số đƣợc viết bằng cách đặt kề nhau các ký hiệu, đƣợc chọn trong một tập hợp xác định. Mỗi ký hiệu trong một số đƣợc gọi là số mã (số hạng, digit). Thí dụ, trong hệ thống thập phân (cơ số 10) tập hợp này gồm 10 ký hiệu rất quen thuộc, đó là các con số từ 0 đến 9: 8
nguon tai.lieu . vn