Tóm tắt các bước giải bài tập Kiến trúc Máy tính
- Phân tích kỹ đề bài: Đọc thật kỹ yêu cầu, xác định rõ dữ liệu cho trước và kết quả cần tìm.
- Hiểu rõ các khái niệm liên quan: Nắm vững định nghĩa, chức năng và cách hoạt động của các thành phần CPU, bộ nhớ, bus, tập lệnh.
- Áp dụng công thức/quy tắc: Vận dụng các công thức, quy tắc đã học để tính toán hoặc suy luận.
- Trình bày lời giải rõ ràng: Sử dụng các bước logic, mạch lạc, đi kèm với chú thích nếu cần thiết.
- Kiểm tra lại kết quả: Rà soát lại toàn bộ quá trình tính toán và suy luận để đảm bảo tính chính xác.
Kiến trúc Máy tính: Tổng quan về các Khái niệm Cốt lõi
Kiến trúc máy tính là một lĩnh vực nền tảng trong ngành công nghệ thông tin, nghiên cứu về cách tổ chức, thiết kế và hoạt động của các hệ thống máy tính. Hiểu rõ kiến trúc máy tính giúp chúng ta nắm bắt được cách thức các phần cứng tương tác với nhau và với phần mềm, từ đó tối ưu hóa hiệu suất và phát triển các giải pháp công nghệ hiệu quả. Bài viết này sẽ đi sâu vào các bài tập thực hành, các dạng câu hỏi trắc nghiệm và lý thuyết xoay quanh các chương chính của môn học, cung cấp một cái nhìn toàn diện và chuyên sâu cho sinh viên và những người yêu công nghệ.
Các Dạng Bài Tập Kiến Trúc Máy Tính Thường Gặp
1. Bài Tập Chương 1: Kiến Trúc Cơ Bản Của Máy Tính Điện Tử
Bài 1: Xét một máy tính với tập lệnh máy khuôn dạng 8-bit, với phần địa chỉ chỉ có một thành phần địa chỉ 5 bit. Dạng gợi nhớ của lệnh máy như sau: Tên lệnh XXXXX, trong đó XXXXX là số nhị phân 5 bit. Lệnh LOAD XXXXX thực hiện nạp nội dung ô nhớ địa chỉ XXXXX vào thanh tích luỹ ACC. Giả sử ACC đang chứa giá trị 01101, ô nhớ 10110 chứa giá trị 10101. Vậy khi thực hiện lệnh LOAD 10110, ACC sẽ có giá trị là bao nhiêu?
- Phân tích: Lệnh LOAD XXXXX có nghĩa là giá trị tại địa chỉ XXXXX sẽ được nạp vào thanh tích lũy ACC. Trong trường hợp này, địa chỉ là 10110 và nội dung của ô nhớ tại địa chỉ này là 10101.
- Lời giải: Khi thực hiện lệnh LOAD 10110, giá trị 10101 từ ô nhớ tại địa chỉ 10110 sẽ được nạp vào ACC. Do đó, ACC sẽ có giá trị là 10101.
Bài 2: Xét một máy tính với tập lệnh máy khuôn dạng 8-bit, với phần địa chỉ chỉ có một địa chỉ 5 bit. Dạng gợi nhớ của lệnh máy như sau: Tên lệnh XXXXX, trong đó XXXXX là số nhị phân 5 bit. Lệnh STORE XXXXX thực hiện cất nội dung thanh tích luỹ ACC ra ô nhớ địa chỉ XXXXX. Giả sử ACC chứa giá trị 11001, khi lệnh STORE 11010 được thực hiện thì ô nhớ đích sẽ có giá trị là bao nhiêu?
- Phân tích: Lệnh STORE XXXXX có nghĩa là giá trị hiện tại của thanh tích lũy ACC sẽ được lưu trữ vào ô nhớ tại địa chỉ XXXXX.
- Lời giải: ACC đang chứa giá trị 11001. Khi lệnh STORE 11010 được thực hiện, giá trị 11001 sẽ được ghi vào ô nhớ có địa chỉ 11010. Do đó, ô nhớ đích sẽ có giá trị là 11001.
Bài 3: Xét một máy tính với tập lệnh máy khuôn dạng 8-bit, với phần địa chỉ chỉ có một địa chỉ 5 bit. Dạng gợi nhớ của lệnh máy như sau: Tên lệnh XXXXX, trong đó XXXXX là số nhị phân 5 bit. Lệnh cộng ADD XXXXX thực hiện công nội dung thanh ghi ACC với nội dung ô nhớ địa chỉ XXXXX, kết quả chứa vào ACC. Lệnh LOAD XXXXX thực hiện nhập nội dung ô nhớ địa chỉ XXXXX vào ACC. Hãy khảo sát quá trình đơn vị xử lý trung tâm thực hiện tuần tự hai lệnh sau: LOAD 01110, ADD 10001. Giả định ô nhớ 01110 chứa giá trị 10010, ô nhớ 10001 chứa gía trị 01001. Vậy sau khi thực hiện xong lệnh ADD, thanh chứa ACC sẽ có giá trị là bao nhiêu?
- Phân tích: Chúng ta cần theo dõi sự thay đổi của ACC qua hai lệnh tuần tự.
- Lệnh LOAD 01110: Nạp nội dung ô nhớ 01110 vào ACC.
- Lệnh ADD 10001: Cộng nội dung ACC với nội dung ô nhớ 10001, kết quả lưu vào ACC.
- Lời giải:
- LOAD 01110: Ô nhớ 01110 chứa giá trị 10010. Sau lệnh này, ACC sẽ chứa 10010.
- ADD 10001: Ô nhớ 10001 chứa giá trị 01001. Ta thực hiện phép cộng: ACC (10010) + Nội dung ô nhớ 10001 (01001).
10010
+ 01001
——-
11011
Sau khi thực hiện lệnh ADD, thanh chứa ACC sẽ có giá trị là 11011.
2. Bài Tập Chương 2: Đơn Vị Xử Lý Trung Tâm (CPU)
Bài 1: Cho một đơn vị xử lý trung tâm có khả năng xử lý tập lệnh máy dạng OP A, Ký hiệu X, Y là các thanh ghi của đơn vị xử lý trung tâm. Lệnh máy ADD A, B thực hiện cộng giá trị toán hạng từ nguồn B với nguồn A, kết quả chứa vào A. Ký hiệu XXXXH là một con số dạng mã Hexa. Cho các giá trị ban đầu X= 1B23H, Y = 02C4H. Hãy xác định giá trị của các thanh ghi X và Y sau khi đơn vị xử lý trung tâm thực hiện lệnh ADD Y,X.
- Phân tích: Lệnh ADD Y, X có nghĩa là cộng giá trị của X vào giá trị của Y, và lưu kết quả trở lại vào Y. Thanh ghi X không thay đổi.
- Lời giải:
- Giá trị ban đầu: X = 1B23H, Y = 02C4H.
- Thực hiện lệnh ADD Y, X: Y = Y + X.
- Ta thực hiện phép cộng: 02C4H + 1B23H.
Để dễ dàng, ta chuyển sang hệ nhị phân hoặc thực hiện cộng trực tiếp hệ thập lục phân:02C4H + 1B23H ------- 1DE7H
- Sau khi thực hiện lệnh, giá trị của các thanh ghi sẽ là: X = 1B23H, Y = 1DE7H.
Bài 2: Cho một Đơn vị xử lý trung tâm có khả năng xử lý tập lệnh máy dạng OP A, Lệnh máy MOVE A, B thực hiện chuyển giá trị toán hạng từ nguồn B đến đích A. Ký hiệu X, Y là các thanh ghi của Đơn vị xử lý trung tâm. Ký hiệu XXXXH là một con số dạng mã Hexa. Cho X= (0A37H, Y = 012CH). Hãy xác định giá trị của các thanh ghi X và Y sau khi đơn vị xử lý trung tâm thực hiện lệnh MOVE Y,X.
- Phân tích: Lệnh MOVE Y, X có nghĩa là chuyển giá trị từ nguồn X đến đích Y. Giá trị của X sẽ bị ghi đè bởi giá trị của Y (trong lệnh gốc được diễn giải là “chuyển giá trị toán hạng từ nguồn B đến đích A”, nếu là MOV Y,X thì A=Y, B=X).
- Lời giải:
- Giá trị ban đầu: X = 0A37H, Y = 012CH.
- Thực hiện lệnh MOVE Y, X: Giá trị từ X (0A37H) sẽ được chuyển đến Y.
- Sau khi thực hiện lệnh, giá trị của các thanh ghi sẽ là: X = 0A37H (giá trị ban đầu của X không thay đổi nếu MOV Y,X thì X là nguồn, Y là đích), Y = 0A37H. Tuy nhiên, theo diễn giải của đề bài “chuyển giá trị toán hạng từ nguồn B đến đích A”, và lệnh là MOVE Y,X thì A=Y, B=X. Nghĩa là Y = X.
- Điều chỉnh: Dựa trên cấu trúc MOVE A, B (nguồn B, đích A), với lệnh MOVE Y,X, thì A=Y (đích), B=X (nguồn). Do đó, giá trị của X sẽ được sao chép vào Y. Thanh ghi X sẽ giữ nguyên giá trị của nó, còn Y sẽ nhận giá trị của X.
- Giá trị ban đầu: X = 0A37H, Y = 012CH.
- Sau lệnh MOVE Y,X: Y sẽ nhận giá trị của X.
- Kết quả: X = 0A37H, Y = 0A37H.
Bài 3: Cho một đơn vị xử lý trung tâm có khả năng xử lý tập lệnh máy dạng OP A, B. Lệnh máy MOVE A, B thực hiện chuyển giá trị toán hạng từ nguồn B đến đích A. Ký hiệu X và Y là các thanh ghi của đơn vị xử lý trung tâm. Ký hiệu XXXXH là một con số dạng mã Hexa. Ký hiệu [R] là nội dung ô nhớ mà địa chỉ của nó được xác định bởi thanh ghi R. Giả định X = 1853H và Y= 5140H, Ô nhớ địa chỉ 5140H đang chứa giá trị 2040H. Sau khi Đơn vị xử lý trung tâm thực hiện lệnh MOVE X, [Y] thì thanh ghi X có giá trị là bao nhiêu?
- Phân tích: Lệnh MOVE X, [Y] có nghĩa là chuyển nội dung của ô nhớ mà địa chỉ của nó được xác định bởi thanh ghi Y (tức là [Y]) đến thanh ghi X (đích).
- Lời giải:
- Giá trị ban đầu: X = 1853H.
- Thanh ghi Y có giá trị 5140H.
- Ô nhớ tại địa chỉ 5140H ([Y]) đang chứa giá trị 2040H.
- Lệnh MOVE X, [Y] sẽ sao chép giá trị 2040H từ ô nhớ [Y] vào thanh ghi X.
- Sau khi thực hiện lệnh, thanh ghi X sẽ có giá trị là 2040H.
Bài 4: Ký hiệu XXXXH là một số dạng mã Hexa. Cho một tập lệnh có khuôn dạng 16 bit, 4 bit đầu tiên là mã thao tác và lệnh chỉ có một thành phần địa chỉ. Cho bộ nhớ có ô nhớ rộng 16 bit. Lệnh máy STORE XXXH thực hiện sao nội dung ACC ra ô nhớ có địa chỉ XXXH xác định trên lệnh. Cho ACC=0637H, con trỏ lệnh PC= 354H , ô nhớ 354H chứa lệnh STORE 485H, ô nhớ 485H chứa giá trị 2323H. Sau tiểu chu kỳ thực hiện lệnh STORE 485H, thanh ghi MAR có giá trị là bao nhiêu?
- Phân tích:
- Lệnh STORE XXXH ghi nội dung ACC vào ô nhớ XXXH.
- MAR (Memory Address Register) lưu trữ địa chỉ của ô nhớ mà CPU đang truy cập.
- Trong chu kỳ lệnh, trước khi thực hiện lệnh, PC (Program Counter) chứa địa chỉ của lệnh hiện tại. Sau khi nạp lệnh, PC thường được cập nhật để trỏ đến lệnh tiếp theo.
- Thanh ghi MAR thường nhận địa chỉ từ PC để truy xuất lệnh, sau đó có thể nhận địa chỉ từ lệnh để truy xuất dữ liệu hoặc nơi lưu trữ.
- Lời giải:
- Khi CPU bắt đầu thực hiện lệnh, PC là 354H.
- CPU đọc lệnh từ địa chỉ 354H. Lệnh này là STORE 485H. CPU nạp lệnh này vào thanh ghi lệnh và cập nhật PC để trỏ đến lệnh tiếp theo (nếu có).
- Tiểu chu kỳ thực hiện lệnh STORE 485H yêu cầu ghi dữ liệu từ ACC vào ô nhớ có địa chỉ 485H.
- Để ghi vào ô nhớ 485H, CPU cần đưa địa chỉ 485H vào MAR.
- Giá trị của ACC là 0637H sẽ được ghi vào ô nhớ 485H. Giá trị 2323H ban đầu tại 485H sẽ bị ghi đè.
- Quan trọng: Câu hỏi hỏi giá trị của MAR sau tiểu chu kỳ thực hiện lệnh. Trong quá trình thực hiện lệnh STORE, MAR sẽ nhận địa chỉ đích là 485H.
- Cần làm rõ: “tiểu chu kỳ thực hiện lệnh STORE 485H” có nghĩa là gì. Thông thường, sau khi fetch lệnh, CPU giải mã lệnh. Để thực hiện lệnh STORE, CPU cần đưa địa chỉ đích (485H) vào MAR để ghi dữ liệu từ ACC vào địa chỉ đó. Tuy nhiên, thông tin “ô nhớ 354H chứa lệnh STORE 485H” và “ô nhớ 485H chứa giá trị 2323H” cho thấy PC ban đầu là 354H. Sau khi nạp lệnh, PC có thể đã được cập nhật. Nhưng MAR thường chứa địa chỉ đích của thao tác ghi.
- Giả định hợp lý: CPU nạp lệnh từ PC (354H) vào MAR để fetch lệnh. Sau đó, nó giải mã lệnh STORE 485H. Để thực hiện việc lưu trữ, CPU đưa địa chỉ 485H vào MAR.
- Tuy nhiên, đề bài cho biết “ô nhớ 354H chứa lệnh STORE 485H”, ngụ ý rằng địa chỉ của lệnh là 354H. Khi thực hiện lệnh STORE 485H, CPU sẽ cần địa chỉ 485H để ghi dữ liệu. Câu hỏi “sau tiểu chu kỳ thực hiện lệnh STORE 485H” có thể ám chỉ đến việc MAR đã được nạp địa chỉ đích của lệnh.
- Xem xét lại: Nếu MAR là nơi chứa địa chỉ của lệnh trước khi thực thi, thì nó sẽ là 354H. Nếu MAR là nơi chứa địa chỉ của dữ liệu (ô nhớ đích) để ghi/đọc, thì nó sẽ là 485H.
- Dựa trên cách diễn đạt “tiểu chu kỳ thực hiện lệnh STORE 485H”, ta hiểu rằng CPU đang thực hiện hành động ghi dữ liệu vào địa chỉ 485H. Do đó, MAR sẽ nhận địa chỉ 485H.
- Cần làm rõ thêm: Trong một số kiến trúc, MAR có thể được sử dụng cho cả việc fetch lệnh và truy cập dữ liệu. Tuy nhiên, phổ biến hơn là PC trỏ đến lệnh, và MAR được dùng cho việc truy cập bộ nhớ theo yêu cầu của lệnh.
- Xét thêm trường hợp: Nếu PC=354H, lệnh là STORE 485H. Sau khi fetch lệnh, PC có thể trỏ đến lệnh tiếp theo. MAR sẽ chứa địa chỉ 485H để ghi dữ liệu.
- Kết luận dựa trên cách diễn đạt: “Sau tiểu chu kỳ thực hiện lệnh STORE 485H” ám chỉ đến hành động ghi vào địa chỉ 485H. Do đó, MAR sẽ chứa 485H.
- Lưu ý: Câu hỏi có thể hơi khó hiểu về vai trò của MAR ở giai đoạn fetch lệnh so với giai đoạn execute lệnh. Tuy nhiên, nếu hiểu “thực hiện lệnh STORE” là hành động ghi vào bộ nhớ, thì MAR phải chứa địa chỉ đích của việc ghi.
3. Bài Tập Kiến Trúc Máy Tính Chương 6 (Intel 80×86)
Bài 1: Đơn vị xử lý trung tâm họ Intel 80×86 có khả năng xử lý tập lệnh máy dạng OP A, B. Ký hiệu XXXXH là một con số dạng mã Hexa. Giả định thanh ghi AX đang chứa giá trị 1853H. Sau khi lệnh ADD AX, 5140H được thực hiện thì AX có giá trị là bao nhiêu?
- Phân tích: Lệnh ADD AX, 5140H thực hiện phép cộng giá trị của thanh ghi AX với giá trị hằng số 5140H, và lưu kết quả trở lại vào thanh ghi AX.
- Lời giải:
- Giá trị ban đầu của AX: 1853H.
- Thực hiện phép cộng: AX = AX + 5140H.
- Ta thực hiện phép cộng: 1853H + 5140H.
1853H + 5140H ------- 6993H
- Sau khi thực hiện lệnh, thanh ghi AX sẽ có giá trị là 6993H.
Bài 2: Đơn vị xử lý trung tâm họ Intel 80×86 có khả năng xử lý tập lệnh máy dạng OP A, B. Lệnh máy MOVE A, B thực hiện chuyển giá trị toán hạng từ nguồn B đến đích A. Ký hiệu [XXXXH] là nội dung của ô nhớ địa chỉ XXXXH. Giả định thanh ghi AX đang chứa giá trị 1853H và ô nhớ địa chỉ 5140H đang chứa giá trị 2040H. Sau khi lệnh MOV AX, [5140H] được thực hiện thì AX có giá trị là bao nhiêu?
- Phân tích: Lệnh MOV AX, [5140H] có nghĩa là chuyển nội dung của ô nhớ tại địa chỉ 5140H đến thanh ghi AX.
- Lời giải:
- Giá trị ban đầu của AX: 1853H.
- Ô nhớ tại địa chỉ 5140H đang chứa giá trị 2040H.
- Lệnh MOV AX, [5140H] sao chép giá trị 2040H từ ô nhớ 5140H vào thanh ghi AX.
- Sau khi thực hiện lệnh, AX sẽ có giá trị là 2040H.
Bài 3: Đơn vị xử lý trung tâm họ Intel 80×86 có khả năng xử lý tập lệnh máy dạng OP A, B. Lệnh máy MOVE A, B thực hiện chuyển giá trị toán hạng từ nguồn B đến đích A. Ký hiệu [R] xác định thanh ghi R đang chứa địa chỉ (đang trỏ đến) một ô nhớ. Giả định AX = 2040H, BX = 5140H, ô nhớ 5140H đang chứa giá trị 1853H. Sau khi lệnh MOV AX, [BX] được thực hiện thì AX có giá trị là bao nhiêu?
- Phân tích: Lệnh MOV AX, [BX] có nghĩa là chuyển nội dung của ô nhớ mà địa chỉ của nó được xác định bởi thanh ghi BX (tức là [BX]) đến thanh ghi AX.
- Lời giải:
- Giá trị ban đầu của AX: 2040H.
- Thanh ghi BX có giá trị 5140H.
- Ô nhớ tại địa chỉ 5140H ([BX]) đang chứa giá trị 1853H.
- Lệnh MOV AX, [BX] sao chép giá trị 1853H từ ô nhớ [BX] vào thanh ghi AX.
- Sau khi thực hiện lệnh, AX sẽ có giá trị là 1853H.
Bài 4: Đơn vị xử lý trung tâm họ Intel 80×86 có khả năng xử lý tập lệnh máy dạng OP A, B. Lệnh máy ADD A, B thực hiện công giá trị toán hạng từ nguồn B với đích A, kết quả chứa vào A. Lệnh pháp [R+XXXXH] biểu diễn phương pháp xác định địa chỉ Cơ sở+khoảng dịch. Giả định AX = 2040H, BX = 5140H. Các ô nhớ 5140H, 5141H và 5142H đang chứa các giá trị 1853H, 1843H và 1833H. Sau khi lệnh ADD AX, [BX+2H] được thực hiện thì AX có giá trị là bao nhiêu?

Có thể bạn quan tâm: Tải Vpn Miễn Phí Cho Máy Tính: Hướng Dẫn Chi Tiết Và Lựa Chọn Tốt Nhất
- Phân tích:
- Lệnh ADD AX, [BX+2H] thực hiện phép cộng giá trị của AX với nội dung của ô nhớ có địa chỉ được tính từ BX cộng thêm 2H. Kết quả được lưu vào AX.
- Địa chỉ đích: [BX+2H]. Vì BX = 5140H, nên địa chỉ này là 5140H + 2H = 5142H.
- Nội dung của ô nhớ tại địa chỉ 5142H là 1833H.
- Lời giải:
- Giá trị ban đầu của AX: 2040H.
- Giá trị tại địa chỉ [BX+2H] (tức là 5142H) là 1833H.
- Thực hiện phép cộng: AX = AX + [BX+2H].
- Ta thực hiện phép cộng: 2040H + 1833H.
2040H + 1833H ------- 3873H
- Sau khi lệnh ADD AX, [BX+2H] được thực hiện, AX có giá trị là 3873H.
Trắc Nghiệm Kiến Trúc Máy Tính Có Đáp Án
4.1 Chương 1: Kiến trúc Cơ bản của Máy tính Điện tử
Câu 1: Trong đơn vị xử lý trung tâm, dựa trên thông tin nào đơn vị điều khiển CU sinh ra các tín hiệu điều khiển?
- Đáp án: Các thông tin chứa trong mã thao tác (opcode) của mã lệnh máy.
- Giải thích: CU (Control Unit) giải mã lệnh và dựa vào mã thao tác để tạo ra các tín hiệu điều khiển tương ứng cho các bộ phận khác của CPU và hệ thống.
Câu 2: Chức năng của con trỏ lệnh PC (Program Counter) trong đơn vị xử lý trung tâm là gì?
- Đáp án: Lưu trữ địa chỉ của ô nhớ chứa lệnh thực hiện tiếp theo.
- Giải thích: PC luôn trỏ đến lệnh sắp được thực thi. Sau khi một lệnh được nạp, PC sẽ tự động tăng để trỏ đến lệnh kế tiếp.
Câu 3: Quá trình thực hiện một lệnh máy được điều khiển bởi đơn vị chức năng nào trong đơn vị xử lý trung tâm?
- Đáp án: Đơn vị điều khiển (CU – Control Unit).
- Giải thích: CU chịu trách nhiệm điều phối toàn bộ quá trình thực hiện lệnh, từ việc giải mã cho đến việc gửi các tín hiệu điều khiển đến các bộ phận khác.
4.2 Ôn Tập Chương 2: Đơn Vị Xử Lý Trung Tâm
Câu 1: Trong đơn vị điều khiển vi lập trình, các tín hiệu điều khiển cần có được biểu diễn và được hoạt hoá bởi cái gì?
- Đáp án: Được biểu diễn bởi các tập vi lệnh dưới dạng bit và hoạt hoá bởi trường địa chỉ và trường điều khiển.
- Giải thích: Trong kiến trúc vi điều khiển, các tín hiệu điều khiển phức tạp được chia nhỏ thành các vi lệnh (micro-instructions). Các trường trong vi lệnh (như trường địa chỉ, trường điều khiển) xác định các thao tác vi mô cần thực hiện.
Câu 2: Trong đơn vị điều khiển vi lập trình, nội dung mỗi một vi thủ tục phản ảnh cái gì?
- Đáp án: Phản ảnh trình tự thực hiện các vi thao tác để hoàn thành một lệnh máy.
- Giải thích: Một vi thủ tục (micro-program) là một chuỗi các vi lệnh được sắp xếp theo một trình tự logic để thực thi một lệnh máy cụ thể.
4.3 Chương 3: Bus và Vấn Đề Truyền Thông Tin Trong Máy Tính
Câu 1: Dựa vào đâu mà đơn vị xử lý trung tâm có thể kết nối và trao đổi thông tin với nhiều đối tượng (thiết bị) khác nhau trên cùng một đường bus chung mà không bị xung đột?
- Đáp án: Nhờ vào địa chỉ do CPU phát ra và cơ chế giải mã địa chỉ, chỉ đối tượng có địa chỉ khớp mới được kết nối.
- Giải thích: Mỗi thiết bị trên bus có một địa chỉ duy nhất. Khi CPU muốn giao tiếp với một thiết bị, nó phát địa chỉ của thiết bị đó lên bus. Bộ giải mã địa chỉ trên mỗi thiết bị sẽ so sánh địa chỉ này với địa chỉ của mình. Chỉ thiết bị có địa chỉ khớp mới được kích hoạt để trao đổi dữ liệu, tránh xung đột.
Câu 2: Tại sao kỹ thuật định thời đồng bộ được chọn để thực hiện trao đổi thông tin giữa đơn vị xử lý trung tâm với các đối tượng bên trong hệ thống máy tính?
- Đáp án: Vì các thiết bị bên trong hệ thống (như CPU, bộ nhớ cache, các thanh ghi) thường có tốc độ hoạt động tương đương nhau và có thể được điều khiển bởi một xung nhịp chung.
- Giải thích: Định thời đồng bộ dựa vào một xung nhịp chung để điều khiển thời điểm truyền và nhận dữ liệu, đảm bảo sự phối hợp nhịp nhàng giữa các thành phần có tốc độ cao và tương thích.
Câu 3: Tại sao kỹ thuật định thời không đồng bộ được chọn để thực hiện trao đổi thông tin giữa đơn vị xử lý trung tâm với các đối tượng bên ngoài hệ thống máy tính?
- Đáp án: Vì các thiết bị bên ngoài (thiết bị ngoại vi như máy in, ổ cứng) có tốc độ hoạt động rất khác nhau và không thể đồng bộ với xung nhịp của CPU.
- Giải thích: Định thời không đồng bộ sử dụng các tín hiệu “ready” hoặc “handshake” để báo hiệu khi thiết bị sẵn sàng gửi hoặc nhận dữ liệu, cho phép CPU giao tiếp với các thiết bị có tốc độ chậm hơn hoặc nhanh hơn mà không cần đồng bộ xung nhịp.
4.4 Kiến Trúc Máy Tính Chương 4: Tổ Chức Bộ Nhớ
Câu 1: Việc quản lý bộ nhớ tác động đến thiết bị nhớ vật lý nào trong hệ thống bộ nhớ vật lý nhiều mức?
- Đáp án: Tác động đến tất cả các cấp của hệ thống bộ nhớ vật lý nhiều mức, bao gồm thanh ghi CPU, bộ nhớ cache, bộ nhớ chính (RAM), và bộ nhớ thứ cấp (ổ cứng, SSD).
- Giải thích: Quản lý bộ nhớ liên quan đến việc cấp phát, thu hồi, và tổ chức không gian lưu trữ cho các chương trình và dữ liệu trên mọi cấp độ.
Câu 2: Ý nghĩa của việc tổ chức và quản lý bộ nhớ trong máy tính là gì?
- Đáp án: Đảm bảo hiệu quả sử dụng không gian bộ nhớ, cho phép nhiều chương trình chạy đồng thời, bảo vệ dữ liệu và chương trình khỏi sự truy cập trái phép, và tạo môi trường hoạt động ổn định cho hệ điều hành.
- Giải thích: Quản lý bộ nhớ hiệu quả giúp hệ thống hoạt động mượt mà, nhanh chóng và an toàn hơn.
Câu 3: Quản lý bộ nhớ theo phân đoạn được thực hiện như thế nào?
- Đáp án: Bộ nhớ được chia thành các đoạn logic (segments) dựa trên chức năng (code, data, stack). Mỗi đoạn có địa chỉ và kích thước riêng, được quản lý bởi hệ điều hành. CPU truy cập dữ liệu bằng địa chỉ logic (số đoạn, offset).
- Giải thích: Phân đoạn cho phép tổ chức bộ nhớ một cách linh hoạt theo cấu trúc của chương trình, dễ dàng chia sẻ và bảo vệ.
Câu 4: Sự khác biệt trong quản lý bộ nhớ theo phân trang so với quản lý theo phân đoạn.
- Đáp án: Phân trang chia bộ nhớ vật lý thành các khung (frames) có kích thước cố định, và bộ nhớ logic thành các trang (pages) có kích thước tương đương. Phân đoạn chia bộ nhớ thành các khối logic có kích thước thay đổi.
- Giải thích: Phân trang giúp chống phân mảnh bộ nhớ hiệu quả hơn và đơn giản hóa việc cấp phát. Phân đoạn mang tính logic và ngữ nghĩa cao hơn.
4.5 Chương 5: Hệ Thống và Các Phương Pháp Ra Vào Dữ Liệu
Câu 1: Tại sao khi thực hiện vào/ra (nhập/xuất) dữ liệu với các thiết bị ngoại vi của máy tính phải áp dụng một trong các phương pháp vào-ra dữ liệu?

Có thể bạn quan tâm: Tải Phần Mềm Hát Karaoke Online Trên Máy Tính: Hướng Dẫn Chi Tiết Từ A-z
- Đáp án: Để đơn vị xử lý trung tâm (CPU) có thể phối hợp hiệu quả với tốc độ hoạt động rất khác biệt của các thiết bị ngoại vi, đảm bảo dữ liệu được truyền chính xác và không làm nghẽn hệ thống.
- Giải thích: Thiết bị ngoại vi thường chậm hơn CPU rất nhiều. Các phương pháp I/O (lập trình I/O, I/O ngắt, DMA) giúp CPU không phải chờ đợi thụ động hoặc giúp giao tiếp diễn ra hiệu quả hơn.
Câu 2: Cơ chế để đơn vị xử lý trung tâm bắt nhịp được với hoạt động của thiết bị ngoại vi ở phương pháp vào-ra theo ngắt cứng là gì?
- Đáp án: Thiết bị ngoại vi, khi hoàn thành một thao tác hoặc cần sự chú ý của CPU, sẽ phát một tín hiệu ngắt (interrupt). CPU tạm dừng công việc hiện tại, chuyển sang thực thi một chương trình phục vụ ngắt (ISR) tương ứng, xử lý yêu cầu của thiết bị, sau đó quay lại công việc ban đầu.
- Giải thích: Ngắt cho phép các thiết bị “báo hiệu” cho CPU khi cần, thay vì CPU phải liên tục kiểm tra trạng thái (polling).
Câu 3: Điều kiện để có thể thực hiện vào ra dữ liệu theo phương pháp ngắt cứng là gì?
- Đáp án: Các driver (trình điều khiển thiết bị) phải được cài đặt sẵn, các ngắt cứng (IRQ) phải được cấu hình đúng cho từng thiết bị, và CPU phải được cấu hình để nhận và xử lý các ngắt đó.
- Giải thích: Cần có sự phối hợp phần cứng và phần mềm để ngắt có thể hoạt động đúng cách.
4.6 Chương 6: Kiến Trúc Máy Vi Tính PC và Đơn Vị Xử Lý Trung Tâm
Câu 1: Đơn vị xử lý trung tâm kiểm tra bit cờ nào và ở tiểu chu kỳ nào trong chu kỳ lệnh trước khi quyết định thực hiện hoặc không thực hiện chu kỳ ngắt?
- Đáp án: CPU kiểm tra bit cờ ngắt (Interrupt Flag – IF) và thường kiểm tra ở cuối chu kỳ thực hiện lệnh (Execute Cycle) hoặc đầu chu kỳ fetch lệnh tiếp theo, tùy kiến trúc.
- Giải thích: IF là một bit trong thanh ghi trạng thái của CPU. Nếu IF = 1, CPU sẽ xem xét các yêu cầu ngắt. Nếu IF = 0, các yêu cầu ngắt bị bỏ qua (trừ các ngắt không mặt nạ – non-maskable interrupts).
Câu 2: Sự khác biệt trong các thao tác đơn vị xử lý trung tâm khi thực hiện lệnh gọi xa (FAR CALL) so với gọi gần (NEAR CALL) đến một chương trình con đích có mức đặc quyền thấp hơn là gì?
- Đáp án:
- NEAR CALL: Chỉ cất giá trị của Instruction Pointer (IP) vào stack và nạp địa chỉ offset của chương trình con vào IP. CS (Code Segment) không thay đổi.
- FAR CALL: Cất cả giá trị của Code Segment Register (CS) và Instruction Pointer (EIP/IP) vào stack, sau đó nạp cả bộ chọn đoạn mã lệnh (segment selector) cho CS và địa chỉ offset của chương trình con vào EIP/IP.
- Giải thích: FAR CALL là để chuyển sang một đoạn mã lệnh (segment) khác, có thể nằm ở một vùng nhớ khác hoặc có mức đặc quyền khác. NEAR CALL chỉ nhảy trong cùng một đoạn mã lệnh. Việc chuyển sang mức đặc quyền thấp hơn còn liên quan đến cơ chế bảo vệ của CPU.
4.7 Chương 8: Các Thiết Bị Vào Ra Dữ Liệu và Giao Diện Vào Ra Dữ Liệu Chuẩn
Câu 1: Dựa trên cơ sở nào mà từ số ngắt đơn vị xử lý trung tâm xác định được địa chỉ của chương trình con phục vụ ngắt?
- Đáp án: Dựa trên Bảng Vector Ngắt (Interrupt Vector Table – IVT).
- Giải thích: IVT là một bảng trong bộ nhớ mà mỗi mục (vector) chứa địa chỉ của chương trình phục vụ ngắt (ISR) tương ứng với một số ngắt cụ thể. CPU sử dụng số ngắt nhận được từ bộ điều khiển ngắt để tra cứu địa chỉ ISR trong IVT.
Câu 2: Trong cơ chế phục vụ ngắt cứng, bộ điều khiển ngắt PIC có khả năng nhận cùng một lúc bao nhiêu tín hiệu báo ngắt?
- Đáp án: Một bộ điều khiển ngắt PIC 8259A tiêu chuẩn có thể nhận 8 tín hiệu yêu cầu ngắt (IRQ) trên một chip. Hệ thống PC thường sử dụng hai PIC kết nối với nhau (master và slave), cho phép nhận tổng cộng 15 tín hiệu IRQ khác nhau (IRQ0-IRQ7 từ PIC master, và IRQ8-IRQ15 từ PIC slave, trong đó IRQ8-IRQ15 là các đường truyền từ PIC slave đến PIC master).
- Giải thích: PIC là chip quản lý các yêu cầu ngắt từ nhiều thiết bị khác nhau, ưu tiên và chuyển chúng đến CPU.
Câu 3: Hệ thống ngắt cứng trên máy tính PC được xác lập chế độ kết thúc ngắt bình thường EOI, vì vậy trong chương trình phục vụ ngắt cần phải có lệnh gì phát đến PIC để báo kết thúc ngắt?
- Đáp án: Lệnh EOI (End Of Interrupt) – thường được gửi qua lệnh điều khiển OCW2 (Operation Control Word 2).
- Giải thích: Sau khi hoàn thành việc xử lý ngắt, chương trình phục vụ ngắt phải gửi tín hiệu EOI đến PIC để thông báo rằng ngắt đã được xử lý xong. Điều này cho phép PIC nhận các ngắt mới hoặc các ngắt có độ ưu tiên thấp hơn.
Câu 4: Điều kiện để thiết bị UART thực hiện được chức năng truyền dữ liệu kiểu nối tiếp không đồng bộ là gì?
- Đáp án: Cần có sự thỏa thuận về các tham số truyền thông giữa hai thiết bị UART, bao gồm: tốc độ truyền (baud rate), số bit dữ liệu (data bits), bit chẵn lẻ (parity bit), và số bit dừng (stop bits).
- Giải thích: UART (Universal Asynchronous Receiver/Transmitter) xử lý việc chuyển đổi dữ liệu song song từ CPU thành dữ liệu nối tiếp để truyền đi và ngược lại. Sự không đồng bộ có nghĩa là không có một xung nhịp chung giữa hai bên, mà dữ liệu được đóng gói với các bit bắt đầu, dừng để thiết bị nhận có thể đồng bộ hóa tạm thời.
Câu 5: Khi thực hiện phát dữ liệu theo phương pháp thăm dò qua thiết bị UART, cần truy cập thanh ghi nào trong thiết bị UART để kiểm tra và xác định được trạng thái thiết bị UART sẵn sàng phát đi một byte dữ liệu mới?
- Đáp án: Thanh ghi trạng thái đường truyền (LSR – Line Status Register).
- Giải thích: LSR chứa các bit trạng thái, trong đó có bit báo hiệu kênh truyền đã sẵn sàng để gửi dữ liệu tiếp theo (ví dụ: Transmit Holding Register Empty – THRE). CPU phải liên tục kiểm tra bit này (polling) trước khi gửi byte dữ liệu mới.
Câu 6: Để có thể thực hiện truyền dữ liệu theo phương pháp ngắt qua thiết bị UART, cần truy cập các thanh ghi nào sau đây trong thiết bị UART để xác lập bổ xung chế độ truyền (phát/nhận) dữ liệu theo phương pháp ngắt?
- Đáp án: Cần truy cập Thanh ghi điều khiển ngắt (IER – Interrupt Enable Register) để cho phép ngắt khi thiết bị sẵn sàng phát/nhận. Ngoài ra, các thanh ghi khác như Thanh ghi điều khiển đường truyền (LCR) để xác định định dạng dữ liệu, Thanh ghi xác lập tốc độ truyền (BRG) để đặt tốc độ baud, và Thanh ghi trạng thái Modem (MSR) (nếu cần cho tín hiệu bắt tay) cũng quan trọng. Tuy nhiên, để xác lập chế độ ngắt, IER là chính.
- Giải thích: IER cho phép hoặc vô hiệu hóa các loại ngắt khác nhau, bao gồm ngắt khi bộ đệm phát trống (Transmit Holding Register Empty) hoặc ngắt khi bộ đệm nhận có dữ liệu (Received Data Available).
4.8 Chương 9: Thiết Bị Vào Ra Cơ Bản
Câu 1: Chức năng của thiết bị bàn phím máy tính là gì?
- Đáp án: Chuyển đổi các thao tác vật lý của người dùng (nhấn phím) thành các tín hiệu điện tử và sau đó thành mã phím (ví dụ: mã ASCII) để gửi đến máy tính.
- Giải thích: Bàn phím là thiết bị nhập chính, cho phép người dùng cung cấp dữ liệu và lệnh cho hệ thống.
Câu 2: Cơ chế nào được sử dụng trong điều phối sử dụng đường truyền dữ liệu giữa thiết bị giao diện bàn phím và thiết bị bàn phím (keyboard)?
- Đáp án: Cơ chế trao đổi thông tin theo kiểu “chủ” – “thợ” (Master-Slave) hoặc dựa trên các tín hiệu điều khiển và ngắt.
- Giải thích: Giao diện bàn phím (keyboard controller) đóng vai trò như một “thợ”, xử lý tín hiệu từ bàn phím vật lý và gửi mã phím đến CPU (“chủ”). CPU có thể yêu cầu đọc dữ liệu hoặc nhận thông báo ngắt khi có dữ liệu mới.
Câu 3: Hàm hệ thống đọc thiết bị giao diện bàn phím được kích hoạt theo phương pháp nào?
- Đáp án: Thường được kích hoạt bằng phương pháp ngắt (interrupt-driven).
- Giải thích: Khi người dùng nhấn phím, bàn phím sẽ gửi tín hiệu ngắt đến CPU. CPU sẽ tạm dừng công việc hiện tại để gọi hàm hệ thống đọc dữ liệu từ giao diện bàn phím.
Câu 4: Kiểu dáng ký tự hiển thị trên màn hình được xác định bởi khối chức năng nào?
- Đáp án: Bộ điều khiển màn hình (Video Controller/Graphics Card).
- Giải thích: Bộ điều khiển màn hình nhận dữ liệu đồ họa từ CPU, xử lý và chuyển đổi thành các tín hiệu hình ảnh để hiển thị trên màn hình. Nó chịu trách nhiệm về font chữ, màu sắc, độ phân giải, v.v.
4.9 Chương 10: Tổ Chức Thông Tin Trên Đĩa Từ
Câu 1: Đơn vị lưu trữ nhỏ nhất được hệ điều hành sử dụng để lưu trữ và quản lý việc lưu trữ tập tin trên ổ đĩa cứng là gì?
- Đáp án: Liên cung (cluster) hoặc khối (block).
- Giải thích: Hệ điều hành tổ chức không gian đĩa thành các đơn vị có kích thước cố định gọi là cluster hoặc block. Một tập tin có thể bao gồm nhiều cluster liên tiếp hoặc không liên tiếp.
Câu 2: Cung khởi động chủ MBR có chức năng gì và được tổ chức như thế nào?
- Đáp án: MBR (Master Boot Record) nằm ở đầu ổ đĩa cứng, chứa bộ nạp khởi động (boot loader) và bảng phân vùng chính (partition table). Nó xác định phân vùng nào trên ổ đĩa là phân vùng có thể khởi động và nạp bộ nạp khởi động của phân vùng đó.
- Giải thích: MBR là bước đầu tiên trong quá trình khởi động máy tính khi bật nguồn.
Câu 3: Ở hệ thống quản lý tập tin FAT, vị trí các nơi chứa một tập tin trong volume được xác định như thế nào?
- Đáp án: Vị trí của các cluster (khối) chứa dữ liệu của một tập tin được xác định thông qua Bảng Phân bổ Tập tin (FAT – File Allocation Table). FAT là một bảng chứa các mục, mỗi mục tương ứng với một cluster trên đĩa và chỉ ra cluster tiếp theo trong chuỗi của tập tin, hoặc đánh dấu là cuối tập tin/cluster trống.
- Giải thích: FAT đóng vai trò như một bản đồ chỉ đường cho hệ điều hành để tìm kiếm và truy cập các phần của một tập tin trên đĩa.
Câu 4: Các tập tin có kích thước lớn hơn 4 GByte có thể được quản lý bởi Hệ thống tập tin nào?

Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Cách Viết Chữ Có Dấu Trên Máy Tính Cho Mọi Đối Tượng
- Đáp án: Cả hệ thống tập tin FAT32 và hệ thống tập tin NTFS.
- Giải thích: Hệ thống FAT gốc (FAT12, FAT16) có giới hạn kích thước tập tin dưới 4GB. FAT32 đã nâng giới hạn này lên đáng kể (lý thuyết là 2TB, thực tế tùy hệ điều hành). NTFS (New Technology File System) được thiết kế để hỗ trợ các tập tin và phân vùng có kích thước rất lớn, vượt xa giới hạn 4GB.
