Chương 1 Giới thiệu ■ Giáo trình này giới thiệu với các bạn sinh viên về cấu trúc và chức năng của máy tính. Chúng tôi mong muốn trình bày một cách rõ ràng, cụ thế nhất có thế về các đặc điếm và tính chất của các hệ máy tính hiện đại ngày nay. Tuy nhiên, có hai vấn đề gặp phải như sau: Thứ nhất, hiện nay trên thị trường có rất nhiều các dòng sản phẩm máy tính khác nhau, từ những máy tính đơn chip giá rẻ đến các siêu máy tính giá hàng chục triệu đô la. Không chỉ giá thành, chúng còn khác nhau từ kích thước, hiệu năng và ứng dụng.
Thứ hai, công nghệ máy tính thay đôi một cách nhanh chóng từ việc sử dụng các mạch tích hợp đế chế tạo các thành phần máy tính đến các khái niệm tổ chức song song trong việc kết hợp các thành phần đó. Mặc dù có sự đa dạng cũng như tốc độ thay đối công nghệ nhanh chóng, các hệ máy tính ngày nay vẫn tuân theo một số khái niệm cơ bản xuyên suốt. Trong cuốn sách này, chúng tôi trình bày một cách kỹ lưỡng về các khái niệm cơ bản của tố chức và kiến trúc máy tính cũng như một số các vấn đề thiết kế máy tính hiện đại. Trước hết, đế bắt đầu chúng ta sẽ cùng tìm hiểu về một số cơ sở toán học quan trọng.1 Cơ sở toán học và các hệ đếm 1.1 Hệ thập phân Thông thường chúng ta sử dụng một hệ thống dựa trên mười chữ số thập phân (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) để biểu diễn các số, và hệ thống như thế được gọi là hệ thập phân.
Hãy xét ý nghĩa của số 65. Nó có nghĩa là sáu chục cộng với năm: 65 = (6 X 10)+ 5 Số 2019 có nghĩa là hai nghìn, không trăm, một chục, cộng với chín: 2019 = (2 X 1000) + (0 X 100) + (1 X 10) + 9 Hệ thập phân còn được gọi là hệ đếm cơ số là 10. Điều này có nghĩa là mỗi chữ số trong một số được nhân với lũy thừa bậc i của 10, với i là vị trí tương ứng của chữ số đó: 65 = (6 xlo') + (5 X 10°) 2019 = (2 X 103) + (0 X 102) + (1 X 101) + (9 X 10°) Một số hệ thập phân có thế có hai phần: Phần nguyên và Phần phân số thập phân. Hai 28 Kiến trúc máy tính phần này được ngăn cách với nhau bởi dấu chấm thập phân1.
Phần phân số thập phân (là phần đứng sau dấu chấm - sau đây gọi tắt là Phần phân số) cũng tuân theo nguyên tắc biểu diễn tương tự như trên, nhưng số mũ i là âm. Như vậy, phân số thập phân 0.134 là 1 phần mười cộng với 3 phần trăm cộng với 4 phần nghìn hay là: 0.134 = (1 X 10’1) + (3 X 10’2) + (4 X 10’3) Một số có cả phần nguyên và phần phân số thì các chữ số được nhân với 10 mũ ỉ, với ỉ có cả giá trị dương và âm: 534.478 = (5 X 102) + (3 X 101) + 4 X 10°) + (4 X 101) + (7 X 10’2) + (8 X 10’3) Trong một số bất kỳ, chữ số ngoài cùng bên trái được gọi là chữ số quan trọng nhất (chữ số có trọng số lớn nhất), bởi vì nó mang giá trị lớn nhất. Các chữ số ngoài cùng bên phải được gọi là chữ số ít quan trọng nhất (chữ số có trọng số nhỏ nhất). Trong số thập phân ở ví dụ trên, số 5 phía bên trái là chữ số có trọng số lớn nhất và số 8 bên phải là chữ số có trọng số nhỏ nhất.1 cho thấy mối quan hệ giữa vị trí của chữ số và giá trị được gán cho vị trí đó.
Mỗi vị trí có trọng số lớn gấp 10 lần giá trị trọng số của vị trí bên phải nó và bằng một phần mười giá trị trọng số của vị trí bên trái nó. Nếu chúng ta đánh thứ tự vị trí chữ số như ví dụ trong Bảng 1.1, thì vị trí i có trọng số là 10Í Bảng 1.1 Vị trí của một số thập phân 5 3 4 4 7 8 100 10 1 1/10 1/100 1/1000 102 10' 10° 10 1 10 2 10 3 Vị trí 2 Vị trí 1 Vị trí 0 Vị trí-1 Vị trí-2 Vị trí -3 Tổng quát, nếu số X có biểu diễn dạng thập phân là X = {.}, giá trị của X là: -Ị Lưu ý, xét số 302 và hỏi có bao nhiêu giá trị hàng chục trong số đó. Bởi vì có một chữ số 0 ở vị trí hàng chục, có người sẽ nói rằng không có hàng chục. Nhưng trên thực tế ở í1) Dấu thập phân trong tiếng Việt là dấu phẩy (,).
Tuy nhiên, để dễ dàng tiếp thu và vận dụng kiến thức trong ngành công nghệ thông tin, chúng ta sử dụng dấu thập phân là dấu chấm (.) theo chuẩn chung quốc tế. Chương 1: Giới thiệu 29 đây có 30 chục. Chữ số 0 ở vị trí hàng chục có nghĩa là không có phần hàng chục lẻ ra mà không thế gộp vào hàng trăm, hoặc hàng ngàn, vv. Do đó, bởi vì mỗi vị trí chỉ chứa giá trị số lẻ ra mà không thể gộp vào các vị trí cao hơn, mỗi vị trí chữ số phải có giá trị không lớn hơn 9.
Vậy 9 là giá trị lớn nhất mà một vị trí có thế chứa. Hệ đếm có vị trí Trong hệ đếm có vị trí, mỗi số được biểu diễn bởi một dãy các chữ số trong đó mỗi vị trí chữ số i có trọng số tương ứng /, trong đó r là cơ số của hệ đếm đó. Dạng biểu diễn tổng quát của một số thuộc hệ đếm có cơ số r là: (.)r trong đó giá trị của chữ số ai bất kỳ là một số nguyên trong khoảng 0 < at < r. Dấu chấm giữa <20 và <2-1 được gọi là dấu thập phân (dấu phân số), số này có giá trị là:.
Hệ thập phân là một trường hợp đặc biệt của hệ đếm có vị trí với cơ số 10 và các chữ số trong khoảng từ 0 đến 9. Ví dụ về một hệ đếm có vị trí khác, hãy xét hệ đếm với cơ số 8 (hệ bát phân).2 cho thấy giá trị trọng số của các vị trí từ -1 đến 4. Tại mỗi vị trí, giá trị của chữ số nằm trong khoảng từ 0 đến 7. Vị trí của một số trong hệ cơ số 8 Vị trí 4 3 2 1 0 -1 Trọng số 84 83 82 81 8° 8_1 Giá trị thập phân tương ứng 4096 512 64 8 1 1/8 1.3 Hệ nhị phân Trong hệ thập phân, 10 chữ số khác nhau được sử dụng để biểu diễn các số theo cơ số 10.
Trong hệ nhị phân, ta chỉ dùng hai chữ số là 0 và 1. Do vậy, số trong hệ nhị phân được biếu diễn theo cơ số 2. Đe tránh nhầm lẫn, đôi khi chúng ta đặt một số nhỏ bên cạnh số cần biếu diễn đế chỉ rõ cơ số của nó. Ví dụ: 6510 và 201910 là các số được biếu diễn bằng ký hiệu thập phân hoặc gọi ngắn gọn là số thập phân.
Các chữ số 0 và 1 trong ký hiệu nhị phân có cùng ý nghĩa như trong ký hiệu thập phân: O2 = 010 I2 = 110 30 Kiến trúc máy tính Đe biếu diễn các số lớn hơn, như với ký hiệu thập phân, mỗi chữ số trong một số nhị phân có một giá trị phụ thuộc vào vị trí của nó. Ví dụ: 102 = (1 X 21) + (0 X 2°) = 210 112 = (1 X2’) + (1 X2°) = 31O 1012 = (1 X 22) + (0 X 21) + (1 X 2°) = 510 Ngoài ra, phần phân số của số nhị phân cũng được biểu diễn dưới dạng lũy thừa cơ số 2 với số mũ âm: 101.62510 Tống quát, nếu biểu diễn nhị phân của Y= {.} thì giá trị của Ylà: i 1. Chuyển đổi giữa nhị phân và thập phân Việc chuyến đối một số từ ký hiệu nhị phân sang ký hiệu thập phân được thực hiện rất dễ dàng. Thực tế, chúng ta đã gặp một số ví dụ trong mục trước.
Đe chuyển đối một số từ nhị phân sang thập phân, ta chỉ cần nhân mỗi chữ số nhị phân với lũy thừa của 2 và cộng vào kết quả. Đe chuyến từ thập phân sang nhị phân, ta cần thực hiện riêng việc chuyên đôi phần nguyên và phần phân số. Chuyển đổi phần nguyên Đối với phần nguyên, nhớ lại rằng trong ký hiệu nhị phân, số nguyên biếu diễn dưới dạng: bm-\bm-2.bib\bo bi = 0 hoặc 1 có giá trị là: (Ốm-1 X 2"'_1) + 0„,_2 X 2"'-2) +. + (Ỉ>1 X 21) + bo Giả sử ta cần chuyển đối một số nguyên thập phân N thành dạng nhị phân.
Neu chia N cho 2, trong hệ thập phân, nhận được thương số V1 và phần dư Ro, ta có thế viết: N = 2 X Ni + Ro Ro = 0 hoặc 1 Tiếp theo, ta chia giá trị Vi cho 2. Giả sử rằng thương số mới là N2 và phần dư mới là Rỉ. Khi đó: Nỉ = 2 X N2 + Rì Rỉ = 0 hoặc 1 vậy: N = 2(2A6 + Ri) + Ro = (N2 X 22) + (7?1 X 21) + Ro Chương 1: Giới thiệu 31 Neu tiếp tục: N2 = 2 X. N1 + R2 ta có: N=(NĩX 23) + (Rọ X 22) + (Ri X 21) + Ro Hình 1.1 Ví dụ chuyển đổi từ thập phân sang nhị phân đối với phần nguyên., tiếp tục thực hiện tương tự cuối cùng sẽ tạo ra một thương số Nm-i = 1 và phần dư Rm-2 bằng 0 hoặc 1.
+ (Rọ X 22) + (R1 X 21) + Ro là biểu diễn dưới dạng lũy thừa cơ số 2 của N. Do đó, ta chuyển đổi từ cơ số 10 sang cơ số 2 bằng cách lặp lại việc chia một số cho 2. Khi thương số cuối cùng bằng 0 thì các số dư theo thứ tự ý nghĩa tăng dần chính là các chữ số nhị phân của N. Hãy xem xét hai ví dụ trong Hình 1.
Quy tắc chuyên: Đem phần nguyên chia liên liếp cho 2, cho tới khi thương số bằng 0 thì dừng lại. Viết các số dư ngược từ dưới lên ta thu được số nhị phân tương ứng. Ví dụ: Chuyển số thập phân 13 sang hệ nhị phân. 13 2 dư 1 6 2 32 Kiến trúc máy tính dưO 3 2 dư 1 1 2 dư 1 0 Viết các số dư ngược từ dưới lên ta thu được số nhị phân 110Ỉ2.
Chuyển đổi phần phân số Đối với phần phân số, nhớ lại rằng trong ký hiệu nhị phân, một số có giá trị trong khoảng từ 0 đến 1 được biếu diễn bởi: ữ.