intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Cấu trúc máy tính - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:87

25
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

"Bài giảng Cấu trúc máy tính - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu" bao gồm 5 chương, cung cấp cho học sinh - sinh viên những kiến thức cơ bản về quá trình phát triển của máy vi tính, cấu trúc cơ bản của một máy vi tính hiện đại, các chuẩn và thông số kỹ thuật của các thành phần tạo nên một chiếc máy tính, một số kỹ thuật xử lý nhằm cải thiện tốc độ xử lý của máy tính theo thời gian, một số chi tiết của hệ thống máy tính như: bộ xử lý trung tâm, bộ nhớ, cache,...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Cấu trúc máy tính - Trường CĐ Kinh tế - Kỹ thuật Bạc Liêu

  1. ỦY BAN NHÂN DÂN TỈNH BẠC LIÊU TRƯỜNG CAO ĐẲNG KINH TẾ - KỸ THUẬT BÀI GIẢNG CẤU TRÚC MÁY TÍNH Bạc Liêu, tháng 4/2019
  2. MỤC LỤC LỜI NÓI ĐẦU ......................................................................................................................................... 1 DANH SÁCH CÁC TỪ VIẾT TẮT ............................................................................................ 2 CHƯƠNG 1 . GIỚI THIỆU HỆ THỐNG SỐ........................................................................ 3 1.1. Các hệ đếm .................................................................................................................................... 3 1.1.1. Hệ thập phân (decimal) .................................................................................................. 3 1.1.2. Hệ nhị phân (binary) ........................................................................................................ 3 1.1.3. Hệ thập lục phân (hexadecimal) ................................................................................. 5 1.2. Các phép toán............................................................................................................................... 7 1.2.1. Các phép toán logic .......................................................................................................... 7 1.2.2. Các phép toán số học ....................................................................................................... 8 1.3. Biểu diễn số ............................................................................................................................... 11 1.4. Biểu diễn ký tự ......................................................................................................................... 14 CHƯƠNG 2 . GIỚI THIỆU CÁC HỆ MÁY TÍNH ......................................................... 17 2.1. Các thế hệ máy tính ................................................................................................................ 17 2.1.1. Thế hệ zero ........................................................................................................................ 17 2.1.2. Thế hệ đầu tiên (1945 – 1953).................................................................................. 18 2.1.3. Thế hệ thứ hai (1954 – 1965) .................................................................................... 19 2.1.4. Thế hệ thứ ba (1965 – 1980) ..................................................................................... 20 2.1.5. Thế hệ thứ tư (1980 đến nay) .................................................................................... 20 2.2. Chức năng máy tính ............................................................................................................... 21 2.3. Cấu trúc và tổ chức máy tính ............................................................................................. 22 2.4. Phân loại ...................................................................................................................................... 23 2.4.1. Phân loại theo cấu trúc tập lệnh ............................................................................... 23 2.4.2. Phân loại theo khả năng xử lý của máy tính....................................................... 25 2.5. Máy tính Von Neumann ....................................................................................................... 26 CHƯƠNG 3 . CẤU TRÚC TỔNG QUÁT ............................................................................ 28 3.1. Thùng máy – nguồn ............................................................................................................... 28 3.2. Mainboard .................................................................................................................................. 30 3.3. CPU ............................................................................................................................................... 33 3.4. RAM ............................................................................................................................................. 36
  3. 3.5. BIOS VÀ CMOS RAM ........................................................................................................ 39 3.6. Interfaces ..................................................................................................................................... 40 3.7. Chipset ......................................................................................................................................... 43 3.8. Ổ đĩa cứng .................................................................................................................................. 44 3.9. Ổ đĩa quang ................................................................................................................................ 48 3.10. Màn hình................................................................................................................................... 49 CHƯƠNG 4 . CẤU TRÚC BÊN TRONG MÁY TÍNH ................................................. 50 4.1. Vi xử lý ........................................................................................................................................ 50 4.1.1. Kiến trúc ............................................................................................................................. 50 4.1.2. Cấu trúc pipeline ............................................................................................................ 51 4.1.3. Kỹ thuật superscalar...................................................................................................... 54 4.1.4. Thanh ghi ........................................................................................................................... 54 4.1.5. Tập lệnh .............................................................................................................................. 56 4.2. Bộ nhớ .......................................................................................................................................... 58 4.2.1. Phân loại bộ nhớ ............................................................................................................. 59 4.2.2. Cấu trúc cơ bản ............................................................................................................... 62 4.3. Hệ thống kết nối (bus)........................................................................................................... 63 4.3.1. Phân loại ............................................................................................................................. 63 4.3.2. Chức năng.......................................................................................................................... 65 4.4. Hệ thống cache ......................................................................................................................... 68 4.4.1. Giới thiệu ........................................................................................................................... 68 4.4.2. Chức năng.......................................................................................................................... 69 4.4.3. Cache nhiều tầng ............................................................................................................ 70 4.4.4. Phân loại ............................................................................................................................. 71 CHƯƠNG 5 . HỆ THỐNG XUẤT NHẬP ............................................................................ 73 5.1. Hệ thống ngắt ............................................................................................................................ 74 5.2. Truy cập trực tiếp bộ nhớ .................................................................................................... 77 5.3. Thiết bị bên ngoài ................................................................................................................... 80 5.4. Các ngoại vi ............................................................................................................................... 82 TÀI LIỆU THAM KHẢO .............................................................................................................. 84
  4. LỜI NÓI ĐẦU Bài giảng “Cấu trúc máy tính” được biên soạn dùng làm tài liệu học tập cho học sinh - sinh viên trình độ trung cấp hệ chính qui ngành Tin học ứng dụng trường Cao đẳng Kinh tế - kỹ thuật Bạc Liêu. Bài giảng bao gồm 5 chương, cung cấp cho học sinh - sinh viên những kiến thức cơ bản về quá trình phát triển của máy vi tính, cấu trúc cơ bản của một máy vi tính hiện đại, các chuẩn và thông số kỹ thuật của các thành phần tạo nên một chiếc máy tính, một số kỹ thuật xử lý nhằm cải thiện tốc độ xử lý của máy tính theo thời gian, một số chi tiết của hệ thống máy tính như: bộ xử lý trung tâm, bộ nhớ, cache, … Bài giảng này cũng góp phần giúp học sinh - sinh viên cập nhật những công nghệ mới thông qua các ví dụ thực tế. Nội dung chi tiết của bài giảng như sau: - Chương 1: Giới thiệu hệ thống số - Chương 2: Giới thiệu các hệ máy tính - Chương 3: Cấu trúc tổng quát - Chương 4: Cấu trúc bên trong máy tính - Chương 5: Hệ thống xuất nhập Trong quá trình biên soạn không thể tránh khỏi những thiếu sót, rất mong nhận được sự góp ý của bạn đọc để bài giảng được hoàn thiện hơn. Xin chân thành cảm ơn! 1
  5. DANH SÁCH CÁC TỪ VIẾT TẮT Từ viết tắt Từ đầy đủ Ý nghĩa CPU Central Processing Unit Đơn vị xử lý trung tâm MSB Most Significant Bit Bit có trọng số lớn nhất LSB Least Significant Bit Bit có trọng số thấp nhất American Standard Code for Chuẩn mã trao đổi thông tin ASCII Information Interchange Hoa Kỳ VLSI Very Large Scale Integration Tích hợp cỡ lớn PC Personal Computer Máy tính cá nhân Complex Instruction Set CISC Máy tính có tập lệnh phức tạp Computing Reduced Instruction Set RISC Máy tính có tập lệnh đơn giản Computing Bộ nhớ truy cập dữ liệu ngẫu RAM Random Access Memory nhiên SRAM Static Random Access Memory Bộ nhớ RAM tĩnh DRAM Dynamic Random Access Memory Bộ nhớ RAM động Synchronous Dynamic Random SDRAM Bộ nhớ DRAM đồng bộ Access Memory DDR Double Data Rate Gấp đôi tốc độ dữ liệu ROM Real-Only Memory Bộ nhớ chỉ đọc BIOS Basic Input/Output System Hệ thống xuất nhập cơ bản Complementary Metal-Oxide- Bộ nhớ RAM lưu trữ thông tin CMOS Semiconductor cấu hình máy tính HDD Hard Disk Drive Ổ đĩa cứng cơ truyền thống SSD Solid-State Drive Ổ đĩa cứng thể rắn ALU Arithmetic Logic Unit Đơn vị tính toán số học Giao thức truy cập trực tiếp bộ DMA Direct Memory Access nhớ Bộ điều khiển truy cập trực DMAC Direct Memory Access Controller tiếp bộ nhớ 2
  6. CHƯƠNG 1. GIỚI THIỆU HỆ THỐNG SỐ Một hệ thống máy tính bao gồm rất nhiều thành phần, trong đó bộ xử lý trung tâm (hay còn gọi là CPU) chính là bộ não của cả hệ thống. CPU sẽ tiếp nhận và xử lý mọi thông tin trong hệ thống. Thông tin hay còn được gọi là dữ liệu trong một hệ thống máy tính được biểu diễn dưới dạng số nhị phân. Hệ số nhị phân còn gọi là hệ cơ số hai chỉ bao gồm hai chữ số 0 và 1. Trong máy tính nói riêng và trong các mạch điện tử số nói chung, các giá trị này được mã hóa dưới dạng các tín hiệu điện với các giá trị điện áp hoặc dòng điện tương ứng khác nhau. Việc tính toán, xử lý dữ liệu nhị phân trong máy tính cũng được thực hiện tương tự như trong toán học. 1.1. Các hệ đếm 1.1.1. Hệ thập phân (decimal) Hệ thập phân là hệ cơ số rất quen thuộc đối với chúng ta, đây là hệ cơ số được sử dụng trong cuộc sống hàng ngày để biểu diễn các giá trị số, còn được gọi là hệ cơ số mười hay hệ mười. Hệ thập phân sử dụng 10 chữ số để biểu diễn hệ thống số. Mười chữ số này là: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Số dương và số âm được biểu diễn bằng dấu “+” và “-“ trước mỗi số. Để phân biệt với hệ cơ số khác, ta thường thêm chữ cái “D” vào phía cuối để chỉ ra rằng đó là một số trong hệ thập phân, ta cũng có thể bỏ “D” đi mà vẫn ngầm hiểu đó là số thuộc hệ thập phân. 1.1.2. Hệ nhị phân (binary) Cũng như hệ thập phân, nhị phân cũng là một hệ thống số trong đó các giá trị số được biểu diễn chỉ bằng hai chữ số 0 và 1. Để phân biệt với các hệ cơ số khác, ta thường thêm chữ cái “B” vào phía cuối số nhị phân. Ví dụ: 10B, 11B, 100B, 1100B, 10100110B… Mỗi giá trị trong hệ nhị phân tương ứng với một giá trị trong hệ thập phân và ngược lại. Việc chuyển đổi qua lại giữa các giá trị trong hệ thập phân và hệ nhị phân được thực hiện như sau. + Chuyển một số từ hệ nhị phân sang hệ thập phân 3
  7. Việc chuyển đổi từ số nhị phân sang số thập phân được thực hiện bằng cách tính tổng các tích giữa các hệ số của số nhị phân với các trọng số 2i tương ứng. Giả sử ta có số nhị phân như sau: bn bn-1…b1b0B, trong đó bi (i = 0, n ) là các hệ số của số nhị phân, có thể nhận một trong hai giá trị 0 hoặc 1. Khi đó 2i sẽ là trọng số tương ứng của hệ số bi. Số nhị phân này được chuyển đổi sang hệ thập phân bằng công thức sau: bn*2n + bn-1*2n-1 + … + b1*21 + b0*20 Ví dụ: ta có số nhị phân: 1011B 3 2 1 0 1 0 1 1 b3 b2 b1 b0 Số thập phân tương ứng sẽ là: b3*23 + b2*22 + b1*21 + b0*20 = 1*23 + 0*22 + 1*21 + 1*20 = 11 Như vậy, số 1011B sẽ tương ứng với số 11 trong hệ thập phân. Ví dụ: số nhị phân: 110011B 1*25+1*24+0*23+0*22+1*21+1*20=32+16+0+0+2+1=51 Như vậy, số 110011B tương ứng với số 51 trong hệ thập phân. + Chuyển một số từ hệ thập phân sang hệ nhị phân Việc chuyển đổi một số từ hệ thập phân sang hệ nhị phân được thực hiện bằng cách lấy số cần đổi chia cho 2 và ghi nhớ phần dư, tiếp theo lấy thương của phép chia trước đó chia cho 2 và ghi nhớ phần dư. Làm như vậy cho tới khi được thương bằng 0. Đảo ngược thứ tự dãy số dư ta sẽ được các chữ số của hệ nhị phân cần tìm. Ví dụ: hình 1.1 mô tả cách đổi số 50 sang hệ nhị phân Số dư (số gạch dưới) được sắp xếp theo chiều mũi tên, như vậy 50 = 110010B 4
  8. Hình 1.1. Đổi một số thập phân sang hệ nhị phân Hệ nhị phân là hệ cơ số được sử dụng trong máy tính nói riêng và trong các mạch điện tử số nói chung. Các giá trị 0 và 1 được hiểu là các mức điện áp (hoặc dòng điện) khác nhau trong mạch (một số ví dụ như đã đề cập ở phần trên). Trong thế giới máy tính, các số 0 và 1 được gọi là các bit. Một nhóm 4 bit sẽ tạo thành 1 nibble, nhóm 8 bit sẽ tạo thành một byte, nhóm 16 bit sẽ tạo thành một word. Bit đầu tiên bên trái trong chuỗi bit được gọi là bit MSB, bit cuối cùng bên phải trong chuỗi bit được gọi là bit LSB. Ví dụ: + Bit: 0B, 1B + Nibble: 1011B, 1110B, 1000B, … + Byte: 01011110B, 11110000B, 11000001B, … + Word: 1000010111100001B, 1111000010101100B, … MSB LSB 1 1 0 1 0 1 0 0 Từ các ví dụ trên ta có thể thấy, một nibble có thể biểu diễn được số lớn nhất là 15, một byte có thể biểu diễn được số lớn nhất là 255, một word có thể biểu diễn số lớn nhất là 65535. Để biểu diễn những số lớn hơn ta phải dùng những chuỗi bit dài hơn, điều này rất bất tiện cho con người trong việc ghi chép, tính toán trên giấy. Để khắc phục nhược điểm trên người ta thường sử dụng hệ thập lục phân. 1.1.3. Hệ thập lục phân (hexadecimal) Hệ thập lục phân hay còn gọi là hệ cơ số 16, cũng là một hệ thống số trong đó các giá trị số được biểu diễn bằng các chữ số từ 0 đến 9 và các chữ cái từ A đến 5
  9. F, tương ứng với giá trị thập phân từ 0 đến 15. Để phân biệt với các hệ cơ số khác, ta thương thêm chữ cái “H” vào phía cuối số thập lục phân. Ví dụ: 19H, AB5H, 2F0CH, E104DH, … Như đã đề cập ở trên, hệ thập lục phân ra đời nhằm khắc phục nhược điểm của số trong hệ nhị phân, đó là việc sử dụng một chuỗi số nhị phân quá dài để biểu diễn một giá trị lớn. Để việc biểu diễn một kết quả nhị phân gọn lại, người ta thường chuyển các kết quả này thành các số thập lục phân bằng cách nhóm 4 bit số nhị phân thành một số thập lục phân. Ví dụ: chuyển số 110001111000001011101011B thành số thập lục phân 1100 0111 1000 0010 1110 1011 C 7 8 2 E B Ta sẽ nhóm từng 4 bit số nhị phân lại để tạo thành một số thập lục phân: 1100B có giá trị là 12 tương ứng với “C”, 0111B có giá trị 7 tương ứng với 7, 1000B có giá trị 8 tương ứng với 8, 0010B có giá trị 2 tương ứng với 2, 1110B có giá trị 14 tương ứng với “E”, 1011B có giá trị 11 tương ứng với “B” trong hệ thập lục phân. Do đó, số nhị phân đã cho sẽ có giá trị tương ứng là C782EB trong hệ thập lục phân. Đối với các số nhị phân có số bit không chia hết cho 4, ta thêm các bit 0 vào phía liền trước bit MSB để được số bit chia hết cho 4 rồi nhóm lại theo cách trên. Ví dụ: chuyển số 11101011011111B thành số thập lục phân Do số bit của số nhị phân trên là 14 không chia hết cho 4 nên ta phải thêm 2 bit 0 vào phía liền trước bit MSB để tạo thành số 0011101011011111B, sau đó nhóm lại như sau: 0011 1010 1101 1111 3 A D F Như vậy, số nhị phân 11101011011111B tương ứng với số 3ADFH Việc chuyển từ số thập lục phân thành số nhị phân được thực hiện theo cách ngược lại, tức là một chữ số thập lục phân được phân tích thành 4 bit nhị phân. Ví dụ: chuyển số A3C5H thành số nhị phân A 3 C 5 1010 0011 1100 0101 6
  10. Ta có, “A” có giá trị 10 ứng với 1010B, 3 có giá trị 3 ứng với số 0011B, “C” có giá trị 12 ứng với số 1100B, 5 có giá trị 5 ứng với số 0101B. Như vậy, A3C5 trong hệ thập lục phân tương ứng với số 1010001111000101 trong hệ nhị phân. 1.2. Các phép toán 1.2.1. Các phép toán logic Các phép toán logic bao gồm 4 phép toán cơ bản, đó là: NOT, AND, OR, XOR, thường dùng để diễn tả một kết quả từ các điều kiện cho trước. Các phép toán này được thực hiện với các toán hạng là các bit 0 (điều kiện sai) và 1 (điều kiện đúng), kết quả cuối cùng cũng là một bit 0 (kết quả sai) hoặc 1 (kết quả đúng). Sau đây ta sẽ xét từng phép toán. a. Phép toán AND Giả sử z = x AND y x y z 0 0 0 0 1 0 1 0 0 1 1 1 Kết quả của phép toán AND chỉ bằng 1 khi cả hai toán hạng đều bằng 1, tức là kết quả chỉ đúng khi cả hai điều kiện đều đúng. b. Phép toán OR Giả sử z = x OR y x y z 0 0 0 0 1 1 1 0 1 1 1 1 Kết quả của phép toán OR chỉ bằng 0 khi cả hai toán hạng đều bằng 0, tức là kết quả chỉ sai khi cả hai điều kiện đều sai. c. Phép toán XOR Giả sử z = x XOR y 7
  11. x y z 0 0 0 0 1 1 1 0 1 1 1 0 Kết quả của phép toán XOR bằng 0 khi hai toán hạng giống nhau, tức là kết quả chỉ sai khi hai điều kiện giống nhau (cùng đúng hoặc cùng sai) d. Phép toán NOT Phép toán này chỉ có một toán hạng. Giả sử y = NOT x x y 0 1 1 0 Kết quả y được gọi là bù của toán hạng x. 1.2.2. Các phép toán số học Việc thực hiện các phép toán số học (cộng, trừ, nhân, chia, …) trong hệ thập phân đã quá quen thuộc với chúng ta, do đó, nội dung phần này chỉ trình bày cách thực hiện các phép toán số học trong hệ nhị phân. a. Phép cộng Phép cộng trong hệ nhị phân được thực hiện giống như trong hệ thập phân (cộng cột theo cột), chỉ có sự khác biệt ở điểm: hệ thập phân có 10 chữ số (từ 0 đến 9) còn hệ nhị phân chỉ có 2 chữ số (0 và 1). Phép cộng hai chữ số 0 và 1 được thực hiện theo quy tắc sau đây. Xét phép cộng y = a+b, số nhớ là c a b y c 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Cũng giống như số thập phân, số nhớ sẽ được cộng vào bit cao hơn kế tiếp. Xét các ví dụ sau. Ví dụ: thực hiện phép cộng 001B + 100B 001  100   101 8
  12. Trong hệ thập phân, phép cộng này tương ứng là 1+4=5 (001B = 1, 100B = 4, 101B = 5). Đây là phép cộng không có số nhớ. Xét ví dụ tiếp theo với phép cộng có sử dụng số nhớ. Ví dụ: thực hiện phép cộng 0011B + 0110B Số nhớ 11 Số hạng thứ nhất 0011 Số hạng thứ hai 0110 Tổng 1001 Số nhớ 1111 Số hạng thứ nhất 1101 Số hạng thứ hai 0111 Tổng 10100 Trong hệ thập phân, phép cộng này tương ứng là 13+7=20. Các số hạng trong phép cộng là các số 4 bit, tổng 20 là một số 5 bit. Do đó, trong trường hợp tổng quát, nếu số hạng lớn hơn có n bit thì tổng sẽ có n+1 bit. b. Phép trừ Phép trừ trong hệ nhị phân cũng được thực hiện tương tự như trong hệ thập phân. Quy tắc trừ các bit nhị phân được cho như sau. Xét phép trừ y=a-b, số mượn là c a b y c 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Cũng giống như số thập phân, số mượn sẽ được trừ vào bit cao hơn kế tiếp. Xét các ví dụ sau đây. Ví dụ: thực hiện phép trừ 101B – 001B 101  001  100 Trong hệ thập phân, phép trừ này tương ứng với 5-1=4. Phép trừ này không sử dụng số mượn. Xét ví dụ tiếp theo với phép trừ sử dụng số mượn. 9
  13. Ví dụ: thực hiện phép trừ 1010B – 0110B Số mượn 1 Số bị trừ 1010 Số trừ 0110 Hiệu 0100 Trong hệ thập phân, phép trừ này tương ứng với 10-6=4. c. Phép nhân Phép nhân trong hệ nhị phân cũng được thực hiện tương tự như trong hệ thập phân. Ví dụ: thực hiện phép nhân 1011B x 1101B Phép nhân trên trong hệ thập phân tương ứng với 11x13=143 Khi nhân một số n bit với một số m bit, tích số sẽ có m+n bit d. Phép chia Phép chia trong hệ nhị phân cũng được thực hiện tương tự như trong hệ thập phân. Ví dụ: thực hiện phép chia 11011001B:1011B Trong hệ thập phân, phép chia này tương ứng với 217:11 được thương số là 19 và số dư là 8. 10
  14. 1.3. Biểu diễn số Trong các nội dung trên, ta chỉ đề cập đến các số nguyên không có dấu. Trong phần này ta sẽ tìm hiểu cách biểu diễn một số nguyên có dấu và số thập phân. a. Số có dấu Trong hệ nhị phân, số có dấu được biểu diễn bằng số bù 2. Số bù 2 được tính từ số bù 1, cách tính được trình bày như trong phần sau. Số bù 1 Số bù 1 của một số nhị phân là một số nhị phân mà khi cộng với số nhị phân đã cho thì tổng bằng 1 ở tất cả các bit. Để tìm số bù 1 của một số nhị phân bất kỳ, ta chỉ cần đổi bit 0 thành 1 và 1 thành 0 Ví dụ: Số nhị phân Số bù 1 01011 10100 110100 001011 1010011 0101100 Số bù 2 Số bù 2 của một số nhị phân bằng số bù 1 của nó cộng thêm 1 Ví dụ: Số nhị phân Số bù 1 Số bù 2 10011 01100 01101 110100 001011 001100 1010011 0101100 0101101 Số có dấu được biểu diễn bằng số bù 2 như sau: - Bit có trọng số lớn nhất (MSB) là bit dấu. Số dương có bit dấu bằng 0, số âm có bit dấu bằng 1 - Các bit còn lại biểu diễn giá trị thực của số dương hay trị bù 2 của số âm - Số có dấu n bit biểu diễn các giá trị từ –(2n-1) đến (2n-1-1) Trong cách biểu diễn số có dấu, để tìm số đối của một số, ta chỉ cần tìm số bù 2 của số đó. Ví dụ: tìm số nhị phân biểu diễn cho số -5 Để biểu diễn số -5 (trong tầm từ -8 đến 7), ta cần số nhị phân có n=4 bit - Số 5 tương ứng với số nhị phân 4 bit là: 0101 - Số bù 1 của 0101B là: 1010B 11
  15. - Số bù 2 của 0101B là: 1010B + 1 = 1011B Do đó, số -5 tương ứng với số nhị phân: 1011B Ví dụ: số có dấu và không dấu 4 bit được cho như trong Bảng 1.1 Bảng 1.1. Số có dấu và không dấu 4 bit Số nhị phân Số thập phân (có dấu) Số thập phân (không dấu) 0111 7 7 0110 6 6 0101 5 5 0100 4 4 0011 3 3 0010 2 2 0001 1 1 0000 0 0 1111 -1 15 1110 -2 14 1101 -3 13 1100 -4 12 1011 -5 11 1010 -6 10 1001 -7 9 1000 -8 8 Như ta đã biết, trong hệ thập phân, phép trừ có thể được thực hiện thông qua phép cộng với số âm, ví dụ như: 14 - 5 có thể thực hiện bằng phép cộng 14 + (-5). Do đó, trong hệ số nhị phân phép trừ cũng có thể được thực hiện bằng cách cộng với số bù 2. Sau đây ta xét ví dụ thực hiện phép trừ bằng cách như vậy. Ví dụ: thực hiện phép trừ 14 – 5 Để thực hiện phép trừ trên trước hết ta phải xác định số bit (n) dùng để biểu diễn hai số trừ và số bị trừ. Trong trường hợp trên, để biểu diễn được cả hai số 14 và -5, số bit n=5 Trong hệ nhị phân biểu diễn số có dấu: 14 = 01110B và -5 = 11011B. Do đó, phép trừ trên tương ứng với 01110B + 11011B Lưu ý: ta cần phải loại bỏ bit có trọng số 2n (nếu có) để có kết quả đúng. 12
  16. Trong trường hợp trên bit có trọng số 25 là 1, do đó ta cần phải loại bỏ bit này. Kết quả cuối cùng của phép trừ trên là: 01001B (tương ứng với số 9 trong hệ thập phân). Khi thực hiện cộng trừ với số có dấu cần chú ý: nếu kết quả nằm ngoài phạm vi biểu diễn của số có dấu n bit thì kết quả sai. Để sửa sai ta phải tăng số bit biễu diễn. Ví dụ: thực hiện phép tính -4 – 5 Phép tính trên tương ứng với phép cộng -4 + (-5). Để biễu diễn được -4 và -5 trong hệ nhị phân ta cần n=4 bit, -4 = 1100B, -5 = 1011B Kết quả phép tính là 0111B, tức là +7 thay vì -9 như mong muốn. Ở ví dụ này, kết quả sai vì -9 nằm ngoài phạm vi biểu diễn của số có dấu 4 bit. Để có kết quả đúng, ta phải tăng số bit biểu diễn lên 5 bit, -4 = 11100B, -5 = 11011B Phép tính cho kết quả là 10111B, tức là -9 b. Số thập phân Để biễu diễn số thập phân trong hệ nhị phân ta cũng dùng dấu chấm tương tự như trong hệ thập phân. Ví dụ: 1100.1011B, 100.11B, 10.0101B, … Cách chuyển đổi các số nhị phân dạng này sang hệ thập phân cũng được thực hiện như bình thường, các trọng số tương ứng của các số sau dấu chấm có số mũ âm. Ví dụ: chuyển số nhị phân 1100.1011B sang hệ thập phân 3 2 1 0 -1 -2 -3 -4 1 1 0 0. 1 0 1 1 b3 b2 b1 b0 b-1 b-2 b-3 b-4 Trong hệ thập phân, số này là: 13
  17. 1*23 + 1*22 + 0*21 + 0*20 + 1*2-1 + 0*2-2 + 1*2-3 + 1*2-4 = 12.6875 Để chuyển một số thập phân trong hệ thập phân sang hệ nhị phân ta thực hiện các bước sau: - Phần nguyên: chuyển đổi bình thường như đã mô tả trong phần 1.2 - Phần thập phân: lấy phần thập phân nhân cho 2, ghi nhận lại phần nguyên, còn phần thập phân tiếp tục nhân cho 2. Lặp lại nhiều lần như vậy cho tới độ chính xác mà ta mong muốn. Phần thập phân là tập hợp các phần nguyên của phép nhân. - Phần nguyên 12 tương ứng trong hệ nhị phân là 1100B - Phần thập phân là 0.6875, để chuyển sang hệ nhị phân ta lấy phần này lần lượt nhân cho 2 Phép nhân phần thập phân cho 2 Phần nguyên của phép nhân 0.6875 x2 = 1.375 1 (trọng số lớn nhất) 0.375 x2 = 0.75 0 0.75 x2 = 1.5 1 0.5 x2 = 1 1 Do đó, phần thập phân trong hệ nhị phân là: .1011B Ghép phần nguyên và phần thập phân ta được kết quả chuyển đổi là: 1100.1011B 1.4. Biểu diễn ký tự Như đã giới thiệu trong phần đầu của chương, tất cả các thông tin trong máy tính đều được biểu diễn dưới dạng các số 0 và 1. Để biểu diễn một ký tự (chữ cái, chữ số, dấu câu, …), người ta thường dùng một tổ hợp các bit 0 và 1. Một tập hợp các cách biểu diễn cho tất cả các ký tự gọi là một bảng mã hay gọi tắt là mã. Một số bảng mã chuẩn đã được xây dựng để dùng trong máy tính hoặc trong truyền thông như: ASCII, Unicode, EBCDIC, … Sau đây là một số mã được sử dụng phổ biến trong máy tính hiện nay. a. Mã ASCII Mã ASCII được tổ chức mã chuẩn của Mỹ xây dựng để dùng trong trao đổi thông tin. Mã ASCII sử dụng một tổ hợp 7 bit nhị phân để biểu diễn một ký tự, vì 14
  18. vậy mã này biểu diễn được tối đa 128 (27) ký tự. Cách biểu diễn các ký tự được mô tả như Bảng 1.2. Bảng 1.2. Bảng mã ASCII Các ký tự có giá trị từ 0000000 đến 0011111 và 1111111 là các ký tự không in được, nghĩa là không thể hiện thị trên màn hình hoặc bản in. Ví dụ: từ Bảng 1.2, ta thấy mã ASCII của một số ký tự như sau: - Chữ cái “a”: 1100001 - Chữ cái “B”: 1000010 - Chữ số “6”: 0110110 - Dấu chấm than (!): 0100001 b. Mã Unicode Như đã đề cập ở phần trên, bảng mã ASCII có thể biểu diễn được tối đa 128 ký tự, nghĩa là có thể biễu diễn được bộ chữ Latinh, các dấu câu và một số ký tự đặc biệt. Tuy nhiên, khả năng biểu diễn như vậy vẫn chưa đầy đủ do trên thế giới còn rất nhiều ngôn ngữ với nhiều nhiều mẫu chữ khác nhau như tiếng Việt có thêm các chữ “ă”, “â”, “ê”, “ư”, “ơ”, “ừ”, … Do đó, một số công ty công nghệ lớn như Microsoft, IBM, Google, Apple, Yahoo, Oracle … đã thống nhất đưa ra một bảng mã ký tự mới có khả năng biểu diễn được tất cả các ngôn ngữ trên thế giới, đó là 15
  19. Unicode. Mã Unicode biểu diễn ký tự bằng một tổ hợp 16 bit, do đó, mã này có khả năng biểu diễn được 216 = 65536 ký tự. Với số lượng như vậy, mã Unicode có khả năng biểu diễn gần như tất cả các ngôn ngữ khác nhau trên thế giới, kể cả các ngôn ngữ sử dụng ký tự tượng hình phức tạp như Tiếng Trung Quốc, Tiếng Thái, … CÂU HỎI ÔN TẬP CHƯƠNG 1 1. Chuyển các số sau sang số nhị phân: 30; 52; 87; 100; 225; 65,625; 90,84375 2. Chuyển các số sau sang số thập lục phân: 90; 125; 241; 512; 1023 3. Biểu diễn số 8 bit bù 2 của các số sau: 79; -49; -125; -100; 115; -128 4. Cho chuỗi ký tự sau: “DH Pham Van Dong”, hãy biểu diễn chuỗi ký tự này bằng mã ASCII. 5. Thực hiện các phép trừ sau bằng cách thực hiện phép cộng với số bù 2 a. 10 – 15 b. 6 – 30 c. 63 – 31 d. 7 – 50 16
  20. CHƯƠNG 2. GIỚI THIỆU CÁC HỆ MÁY TÍNH Ngày nay, máy tính đã trở nên quá quen thuộc với chúng ta. Chúng được sử dụng rộng rãi cho nhiều mục đích, trong nhiều lĩnh vực khác nhau, từ y học, giáo dục, kinh tế đến chính trị, kỹ thuật, an ninh, quốc phòng, … Để có được hình dáng nhỏ gọn, tiện lợi và hữu ích như ngày nay, máy tính đã trải qua quá trình phát triển lâu dài. Trong chương này chúng ta sẽ tìm hiểu về lịch sử các thế hệ máy tính, các thành phần cơ bản nhất của một chiếc máy tính qua các thời kỳ và một số cách phân loại máy tính. Phần cuối cùng sẽ trình bày về chiếc máy tính theo kiến trúc Von Neumann – Turring. 2.1. Các thế hệ máy tính Trong phần này chúng ta chia sự phát triển của máy tính thành những giai đoạn nhỏ, gọi là thế hệ. Mỗi thế hệ được đặc trưng bằng công nghệ dùng để xây dựng nên chiếc máy tính. 2.1.1. Thế hệ zero Đây là thế hệ các máy tính cơ khí, bắt đầu từ năm 1642, khi nhà toán học người Pháp, Blaise Pascal, hoàn thành việc xây dựng một cỗ máy tính toán có khả năng thực hiện được phép cộng có nhớ và phép trừ. Đây là thiết bị hoàn toàn bằng cơ khí sử dụng các bánh răng và được cung cấp lực nhờ một cánh tay quay. Khoảng 30 năm sau đó, chiếc máy tính toán tiếp theo mới ra đời, đó là phát minh của nhà toán học người Đức, Leibniz. Chiếc máy này có nhiều tính năng hơn chiếc máy của Pascal, ngoài khả năng cộng, trừ, nó còn có thể thực hiện được cả phép nhân và chia. Nhưng cả hai có một điểm chung nhất, đó là không có khả năng lập trình, chúng được thực hiện hoàn toàn thủ công. Chiếc máy tính tiếp theo được phát minh vào năm 1822, khi giáo sư toán trường đại học Cambridge, Charles Babbage, xây dựng một máy có khả năng tính các phép cộng, trừ dựa trên thuật toán sai phân nên còn được gọi là máy sai phân. Bên cạnh đó, năm 1833 ông cũng bắt đầu nghiên cứu và xây dựng một chiếc máy khác, gọi là máy phân tích, có nhiều ưu điểm hơn so với máy sai phân. Máy phân tích có khả năng thực hiện được bất kỳ một phép tính toán học nào. Cấu tạo của máy phân tích cũng bao gồm nhiều thành phần giống như một chiếc máy tính hiện 17
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2