https://docs.google.com/document/d/1puRj6ql_m3gsiqwMVBDL3hu_qpf6c0xYM7wWWApFrsA/edit?usp=sharing
KIẾN TRÚC MÁY TÍNH
Phần 1
Câu 1: Kiến trúc máy tính là gì? Kiến trúc máy tính được cấu thành từ những thành phần nào?
TL:
KTMT là khoa học về việc lựa chọn và kết nối các thành phần phần cứng để tạo ra các máy tính đạt được các yêu cầu chức năng (functionality), hiệu năng (performance) và giá thành (cost).
KTMT được cấu thành từ 3 thành phần con:
- Kiến trúc tập lệnh (Instruction Set Architecture)
- Vi kiến trúc (Micro Architecture)
- Thiết kế hệ thống (System Design)
Câu 2: Nêu sơ đồ khối chức năng của hệ thống máy tính?
Câu 3: Thanh ghi của vi xử lý là gì? Nêu chức năng và đặc điểm của thanh ghi tích lũy A?
TL:
- Thanh ghi (Register) là các ô nhớ bên trong CPU, có nhiệm vụ lưu trữ tạm thời lệnh và dữ liệu cho CPU xử lý. Thanh ghi thường có kích thước nhỏ, nhưng tốc độ làm việc rất cao bằng tốc độ CPU.
- Thanh ghi tích lũy A: Thanh ghi tích lũy A (Accumulator) là một trong các thanh ghi quan trọng nhất của CPU. Được dùng để lưu toán hạng và dùng chứa kết quả. Ngoài ra thanh ghi A còn được dùng trong các lệnh trao đổi dữ liệu với các thiết bị vào ra.
Câu 4: Nêu chức năng và phương thức hoạt động của bộ đếm chương trình PC (Còn được gọi là thanh ghi lệnh IP)?
TL:
- Bộ đếm chương trình PC (Program Counter) hoặc con trỏ lệnh IP (Instruction Pointer) luôn chứa địa chỉ của ô nhớ chứa lệnh được thực hiện tiếp theo.
- PC chứa địa chỉ của ô nhớ chứa lệnh đầu tiên của chương trình khi nó được kích hoạt và nạp vào bộ nhớ.
- Khi CPU thực hiện xong lệnh, địa chỉ của ô nhớ chứa lệnh tiếp theo được nạp vào PC.
Câu 5: Nêu chức năng và phương thức hoạt động của con trỏ ngăn xếp SP (Stack Pointer)?
TL:
- Ngăn xếp là bộ nhớ đặc biệt hoạt động theo nguyên lý vào sau ra trước (LIFO). Con trỏ ngăn xếp SP (Stack Pointer) là một thanh ghi luôn chứa địa chỉ của đỉnh ngăn xếp. Các thao tác chính:
- Push – đẩy dữ liệu vào ngăn xếp:
SP ← SP + 1: Tăng địa chỉ đỉnh ngăn xếp
{SP} ← Dữ liệu: Nạp dữ liệu vào ngăn xếp - Pop – Lấy dữ liệu ra khỏi ngăn xếp
Thanh ghi ← {SP} : Chuyển dữ liệu từ đỉnh ngăn xếp vào thanh ghi
SP ←SP – 1: Giảm địa chỉ của ngăn xếp
Câu 6: Thanh ghi cờ (hay thanh trạng thái) của vi xử lý có chức năng gì? Nếu ý nghĩa của các cờ nhớ (C), cờ không (Z), cờ dấu (S)?
TL:
- Thanh ghi trạng thái (SR) hoặc thanh ghi cờ (FR) là một thanh ghi đặc biệt của CPU: mỗi bit của thanh ghi cờ lưu trạng thái của kết quả của phép tính ALU thực hiện. Có 2 loại bit cờ:
+ Cờ trạng thái
+ Cờ điều khiển - Cờ nhớ (C): CF = 1 nếu có nhớ, CF=0 ngược lại
- Cờ không (Z): ZF = 1 nếu kết quả = 0, ZF = 0 ngược lại
- Cờ dấu (S): SF = 1 nếu kết quả < 0, SF = 0 nếu kết quả > 0
Câu 7-8-9-10-11-12-13: Chế độ địa chỉ của vi xử lý là gì? Mô tả:
- Chế độ địa chỉ tức thì
- Chế độ địa chỉ trực tiếp
- Chế độ địa chỉ gián tiếp
- Chế độ địa chỉ chỉ số
- Chế độ địa chỉ tương đối
- Chế độ địa chỉ thanh ghi
TL:
- Chế độ địa chỉ của vi xử lý là phương thức hoặc cách thức CPU tổ chức các toán hạng của lệnh. Chế độ địa chỉ cho phép CPU kiểm tra dạng lệnh và tìm các toán hạng của lệnh.
- Các chế độ địa chỉ:
- Chế độ địa chỉ tức thời: Giá trị hằng của toán hạng nguồn được đặt ngay sau mã lệnh, còn toán hạng đích có thể là một thanh ghi hoặc một địa chỉ ô nhớ.
- Ví dụ:
LOAD R1, #1000; R1←1000; Nạp giá trị 1000 vào R1
LOAD B, #100; M[B] ← 100; Nạp giá trị 100 vào ô nhớ B
- Chế độ địa chỉ trực tiếp: Sử dụng một hằng để biểu diễn địa chỉ một ô nhớ làm một toán hạng. Toán hạng còn lại có thể là 1 thanh ghi hoặc 1 địa chỉ ô nhớ
- Ví dụ:
- LOAD R1, 1000; R1 ← M[1000]: Nạp nội dung của ô nhớ có địa chỉ 1000 vào thanh ghi R1.
- Chế độ địa chỉ gián tiếp: Thanh ghi hoặc ô nhớ được sử dụng để lưu địa chỉ 1 ô nhớ làm một toán hạng. Toán hạng còn lại có thể là một hằng, một thanh ghi, một địa chỉ ô nhớ:
- Nếu thanh ghi được sử dụng để lưu địa chỉ ô nhớ ta có chế độ địa gián tiếp qua thanh ghi.
- Ngược lại nếu ô nhớ dùng để lưu địa chỉ ô nhớ khác thì có chế độ địa chỉ gián tiếp qua ô nhớ.
- Ví dụ:
- Gián tiếp qua thanh ghi:
LOAD Rj, (Ri); Rj ← M[Ri]: Nạp nội dung có trong địa chỉ của thanh ghi Ri vào Rj - Gián tiếp qua ô nhớ:
LOAD Ri, (1000); Ri ← M[M[1000]]: Nạp nội dung ô nhớ có địa chỉ lưu trong ô nhớ 1000 vào Ri.
- Chế độ địa chỉ chỉ số: Địa chỉ của 1 toán hạng được tạo thành bởi phép cộng giữa 1 hằng và thanh ghi chỉ số. Toán hạng còn lại có thể là 1 hằng, 1 thanh ghi hoặc 1 địa chỉ một ô nhớ.
- Ví dụ:
LOAD Ri, X(R_ind); Ri ← M[X+R_ind]
X là một hằng và X_ind là thanh ghi chỉ số
- Chế độ địa chỉ tương đối: Địa chỉ của 1 toán hạng được tạo thành bởi phép công giữa hằng và bộ đếm chương trình PC. Toán hạng còn lại có thể là 1 hằng, 1 thanh ghi, 1 địa chỉ ô nhớ.
- Ví dụ:
LOAD Ri, X(PC); Ri ← M[X+PC]
X là một hằng và PC là bộ đếm chương trình
- Chế độ địa chỉ thanh ghi: Trong giáo trình không có :((
Câu 14: Nếu phương pháp phân loại các loại bộ nhớ máy tính?
TL:
- Có 3 phương pháp phân loại bộ nhớ máy tính:
Câu 15: Bộ nhớ ROM là gì? Nếu các đặc điểm của bộ nhớ ROM?
TL:
- ROM là bộ nhớ chỉ đọc (Read Only Memory) , lưu trữ lệnh và dữ liệu của hệ thống , thông tin lưu trữ trong ROM chỉ có thể đọc ra mà không thể ghi vào.
- Đặc điểm:
- Là bộ nhớ bán dẫn và ổn định
- Thông tin trong ROM vẫn được duy trì kể cả không có nguồn nuôi.
- Thông tin trong ROM thường được ghi sẵn các thông tin về hệ thống và các module phần mềm phục vụ cho việc ra vào cơ sở (BIOS)
Câu 16: Bộ nhớ RAM là gì? Nêu các đặc điểm của bộ nhớ RAM?
TL:
- RAM là bộ nhớ cho phép truy cập ngẫu nhiên (Random Acess Memory) – các ô nhớ của RAM có thể được truy cập một cách ngẫu nhiên không theo trật tự nào.
- Đặc điểm:
- RAM thuộc loại bộ nhớ bán dẫn và không ổn định
- Thông tin trong RAM chỉ tổn tại khi có nguồn điện nuôi.
- RAM thường có dung lượng lớn hơn ROM nên thường lưu trữ dự liệu của người dùng
Câu 17: Nêu phương thức trao đổi dữ liệu giữa CPU và bộ nhớ Cache và giữa Cache với bộ nhớ chính.
TL:
- Trao đổi giữa CPU và Cache:
- CPU trao đổi dữ liệu với Cache theo các đơn vị cơ sở byte, word vì CPU vốn có dung lượng rất hạn chế
- Trao đổi giữa Cache và Bộ nhớ chính:
- Cache trao đổi dữ liệu với Bộ nhớ chính theo các khối 16, 32, 64 bytes nhằm bao phủ các mẩu dữ liệu lân cận theo không gian và thời gian
Câu 18: Nêu các đặc điểm của đĩa từ các loại đĩa từ?
TL:
- Đặc điểm của đĩa từ:
- Là bộ nhớ ổn định
- Dữ liệu được duy trì kể cả khi không có nguồn điện nuôi.
- Là kiểu bộ nhớ có dung lượng lớn, đặc biệt là đĩa cứng dùng lưu thông tin lâu dài với dạng files.
- Đĩa từ sử dụng đĩa nhựa hoặc kim loại có phủ lớp bột từ trên bề mặt
- Gồm: Đĩa cứng và Đĩa mềm
- Đĩa mềm:
- Làm bằng plastic, có dung lượng nhỏ, tốc độ chậm, dễ hỏng
- Dùng đọc ghi phần mềm
- Đĩa cứng:
- Gắn cố định trong ổ đĩa
- Được làm bằng kim loại hoặc thủy tinh, có dung lượng lớn, tốc độ cao hơn Đĩa mềm
Câu 19: Nêu đặc điểm chính của đĩa CD và đĩa DVD?
TL:
- Đĩa CD:
- Ra đời trước
- Dung lượng nhỏ, tốc độ chậm, dùng lưu dữ liệu, âm thanh và phim có chất lượng thấp
- Đĩa DVD:
- Ra đời sau
- Có dung lượng lớn, tốc độ nhanh, cho phép lưu dữ liệu, âm thanh, phim ảnh có chất lượng cao hơn.
Câu 20: Vẽ sơ đồ nguyên lý và mô tả nguyên lý hoạt động của chuột quang?
TL:
- Nguyên lý hoạt động:
- Đi-ốt phát ánh sáng đổ qua ống kính chiếu xuống mặt phẳng, ánh sáng phản xạ quay ngược lại chuột.
- Camera đặt dưới liên tục chụp ảnh nhờ ánh sáng phản xạ. Tốc độ khoảng 1500 ảnh/giây.
- IC điều khiển chuột sẽ phân tích và so sánh các ảnh kề nhau => phát hiện chuyển động chuột
- Tín hiệu biểu diễn chuyển động chuột do IC điều khiển chuột sinh ra được chuyển cho máy tính xử lý.
Phần 2
Câu 1: Vẽ sơ đồ khối chức năng và nêu chức năng chính của các thành phần trong một hệ thống máy tính?
TL:
- Khối xử lý trung tâm (CPU) là phần quan trọng nhất và được coi là bộ não của máy tính. CPU đảm nhiệm việc đọc các lệnh của chương trình và thực hiện chúng
- Bộ nhớ trong: Để lưu dữ liệu người dùng.
- Các thiết bị ngoại vi: Đảm bảo việc nhập dữ liệu, điều khiển hệ thống, và xuất dữ liệu.
Câu 2: Vẽ sơ đồ và nếu các đặc điểm của kiến trúc máy tính von-Neumann cổ điển. Vẽ sơ đồ và phân biệt kiến trúc máy tính von-Neumann hiện đại với kiến trúc máy tính von-Neumann cổ điển?
TL:
- Đặc điểm cấu trúc cổ điển:
- Lệnh được lưu trữ trong bộ nhớ đọc ghi – chia sẻ
- Bộ nhớ được đánh địa chỉ theo vùng, không phụ thuộc vào nội dung lưu trữ
- Các lệnh thực hiện tuần tự
Câu 3: Vẽ sơ đồ và nêu các đặc điểm của kiến trúc máy tính Harvard. Kiến trúc máy tính Harvard có nhưng ưu diểm gì so với kiến trúc máy tính von-Neumann. Các máy tính để bàn, xách tay hiện địa ngày nay sử dụng kiến trúc nào?
TL:
- Đặc điểm:
- Chia bộ nhớ thành 2 phần: Bộ nhớ chương trình và Bộ nhớ lưu trữ dữ liệu
- Hai hệ thống bus riêng được sử dụng để kết nối CPU với bộ nhớ lưu chương trình và bộ nhớ lưu trữ dữ liệu
- Ưu điểm so với KTMT von-Neumann:
- Tốc độ xử lý cao hơn
- Hỗ trợ nhiều lệnh truy cập bộ nhớ tại một thời điểm
- Giảm xung đột bộ nhớ
- Sử dụng KTMT Harvard.
Câu 4: Nêu sơ đồ khối tổng quát và chu trình xử lý lệnh của CPU?
TL:
- Chu trình xử lý tập lệnh CPU:
- Khi một CT được kích hoạt, hệ điều hành nạp mã CT vào bộ nhớ trong
- Địa chỉ ô nhớ chứa lệnh đầu tiên được nạp vào bộ đếm PC
- Địa chỉ ô nhớ chứa lệnh từ PC đc chuyển đến bus địa chỉ thông qua thanh ghi MAR
- Bus địa chỉ chuyển địa chỉ ô nhớ đến đơn vị quản lý bộ nhớ(MMU – Memory Management Unit)
- Lệnh(chứa trong ô nhớ) được chuyển ra bus dữ liệu và tiếp theo được chuyển tiếp đến thanh ghi MBR
- MBR chuyển lệnh đến thanh ghi lệnh IR, IR chuyển lệnh vào bộ điều khiển CU
- CU giải mã lệnh và sinh các tín hiệu điều khiển cần thiết, yêu cầu các bộ phần chức năng của CPU như ALU thực hiện
- Giá trị địa chỉ trong bộ đếm PC tăng lên 1 đơn vị lệnh và nó trỏ đến địa chỉ của bộ nhớ chứa lệnh tiếp theo
- Các bước 3->9 lặp lại với tất cả các lệnh của CT.
Câu 5: Vẽ sơ đồ khối và nếu chức năng của các khối điều khiển (CU) và khối tính toán số học và logic (ALU)
TL:
- Chức năng khối điều khiển (CU): CU đảm nhiệm việc điều khiển toàn bộ các hoạt động của CPU theo xung nhịp đồng hồ. CU sử dụng nhịp đồng hồ để đồng bộ các đơn vị chức năng trong CPU và giữa CPU với các bộ phận bên ngoài.
- Chức năng khối ALU: thực hiện việc tính toán trong CPU
Câu 6: Lệnh máy tính là gì? Chu kỳ lệnh là gì? Nêu các pha điển hình trong chu kỳ thực hiện lệnh. Nêu dạng lệnh tổng quát và thành phần của nó.
TL:
- Lệnh máy tính là một từ nhị phân được gán một nhiệm vụ cụ thể.
- Chu kỳ lệnh là khoảng thời gian CPU thực hiện xong một lệnh.
- Các pha điển hình trong chu kỳ thực hiện lệnh:
- IF: Đọc lệnh
- ID: Giải mã
- EX: Thực hiện lệnh
- WB: Kết quả được lưu vào bộ nhớ
- Dạng lệnh tổng quát gồm 2 phần chính:
- Mã lệnh (OpCode – operation code)
- Địa chỉ các toán hạng (Address of Operands)
Câu 7: Nêu các dạng địa chỉ của lệnh. Cho một ví dụ minh họa với mỗi dạng địa chỉ.
TL:
- Các dạng địa chỉ của lệnh:
- Toán hạng dạng 3 địa chỉ:
- Dạng: opcode add1, add2, add3
- Mỗi địa chỉ add1, add2, add3 tham chiếu đến một ô nhớ hoặc một thanh ghi
- Ví dụ: ADD A, B, C; A←B+C
- Toán hạng dạng 2 địa chỉ:
- Dạng: opcode ad1, ad2
- Mỗi địa chỉ ad1, ad2 tham chiếu đến một ô nhớ hoặc một thanh ghi
- Ví dụ: SUB A, B; A←A-B
- Toán hạng dạng 1 địa chỉ:
- Dạng: opcode ad2
- Địa chỉ ad2 tham chiếu đến một ô nhớ hoặc một thanh ghi. Ngoài ra, thanh ghi tích lũy Racc được sử dụng có vai trò như ad1 trong toán hạng 2 địa chỉ
- Ví dụ: SUB A; Racc ← Racc – A
- Toán hạng dạng 1,5 địa chỉ:
- Dạng: opcode ad1, ad2;
- Một địa chỉ tham chiếu đến một ô nhớ và địa chỉ còn lại tham chiếu đến một thanh ghi. Dạng 1,5 địa chỉ là dạng toán hạng hỗn hợp giữa ô nhớ và thanh ghi.
- Ví dụ: ADD R1, A; R1←R1+M[A];
- Toán hạng dạng 0 địa chỉ:
- Dùng trong các lệnh thao tác với ngăn xếp: PUSH và POP.
Câu 8: Cơ chế xử lý xen kẽ dòng lệnh (ống lệnh – pipeline) là gì? Vẽ sơ đồ minh họa. Nêu các đặc điểm của cơ chế ống lệnh.
TL:
- Cơ chế xử lý xen kẽ dòng lệnh (ống lệnh – pipeline):
- Cơ ống lệnh (pipeline) hay còn gọi là cơ chế thực hiện xen kẽ các lệnh của chương trình là một phương pháp thực hiện lệnh tiên tiến, cho phép đồng thời thực hiện nhiều lệnh, giảm thời gian trung bình thực hiện mỗi lệnh và như vậy tăng được hiệu năng xử lý lệnh của CPU
- Sơ đồ minh họa:
- Đặc điểm của cơ chế ống lệnh (pipeline):
- Là dạng xử lý song song ở mức lệnh
- Một pipeline là đầy đủ khi nó luôn tiếp nhận một lệnh mới tại mỗi chu kì đồng hồ
- Ngược lại, một pipeline là không đầy đủ khi có một số chu kỳ trễ trong tiến trình thực hiện
- Số lượng các giai đoạn (stages) trong pipeline phụ thuộc vào thiết kế vi xử lý:
- 2,3,5 stages (pipeline đơn giản)
- 14 stages (PII, PIII)
- 20-31 stages (P4)
- 12-15 stages(Core)
Câu 9: Vẽ sơ đồ cấu trúc phân cấp của hệ thống bộ nhớ máy tính. Mô tả đặc điểm các thành phần của cấu trúc phân cấp hệ của hệ thống bộ nhớ máy tính. Tại sao cấu trúc phân cấp của hệ thống bộ nhớ có thể giúp tăng hiệu năng và giảm giá thành của sản xuất máy tính?
TL:
- Sơ đồ cấu trúc phân cấp của hệ thống bộ nhớ máy tính:
- CPU Registers:
- Dung lượng rất nhỏ, khoảng từ vài chục bytes đến vài KB
- Tốc độ cao
- Giá đắt
- Sử dụng lưu toán hạng đầu vào và kết quả của các lệnh
- Cache:
- Dung lượng nhỏ (64KB -> 32MB)
- Tốc độ cao
- Giá đắt
- Còn gọi là “bộ nhớ thông minh”
- Sử dụng để lưu lệnh và dữ liệu cho CPU
- Main Memory:
- Gồm ROM và RAM, kích thước lớn
- Tốc độ chậm
- Giá tương đối rẻ
- Sử dụng lưu lệnh và dữ liệu hệ thống của người dùng
- Second Storage (Disk):
- Có dung lượng lớn
- Tốc độ chậm
- Giá rẻ
- Sử dụng lưu dữ liệu lâu dài
- Lý do cấu trúc phân cấp của hệ thống bộ nhớ có thể giúp tăng hiệu năng và giảm giá thành:
- Tăng hiệu năng:
- Dung hòa được CPU có tốc độ cao và phần bộ nhớ chính + ngoài có tốc độ thấp
- Truy cập dữ liệu từ hệ thống
- Nhớ tiệm cận thời gian truy cập cache
- Giảm giá sản xuất:
- Các thanh ghi và cache được sử dụng với dung lượng nhỏ
- Các thành phần rẻ tiền hơn được sử dụng với dung lượng lớn
Câu 10: Vẽ sơ đồ cấu tạo cơ sở của một bit bộ nhớ RAM tĩnh (SRAM). Nêu các đặc điểm của bộ nhớ RAM tĩnh.
TL:
- Sơ đồ cấu tạo cơ sở của một bit bộ nhớ RAM tĩnh:
- Đặc điểm của bộ nhớ SRAM:
- SRAM có tốc độ truy cập cao do có cấu trúc đối xứng và thông tin trong bit SRAM ổn định.
- Mỗi mạch lật lưu 1 bit thường sử dụng 6,8,10 transitors(T)
Câu 11: Vẽ sơ đồ cấu tạo cơ sở của một bit bộ nhớ RAM động (DRAM). Nêu các đặc điểm của bộ nhớ RAM động.
TL:
- Sơ đồ cấu tạo cơ sở của một bit bộ nhớ RAM động:
- Các đặc điểm của bộ nhớ RAM động:
- Mỗi bit DRAM có cấu tạo đơn giản: 1 tụ điện và 1 transitor cấp nguồn
- Do tụ điện có tính chất phóng điện nên điện tích trong tụ giảm dần dẫn tới mất dữ liệu trong tụ nên cần làm tươi.
- Có tốc độ nhỏ hơn SRAM, giá rẻ hơn SRAM.
Câu 12: Phân biệt bộ nhớ RAM tĩnh (SRAM) và RAM động (DRAM). Đánh giá ưu nhược điểm của RAM động với RAM tĩnh.
TL:
- Phân biệt: Câu 11
- Ưu điểm so với RAM tĩnh:
- Giá thành rẻ hơn
- Cấu tạo đơn giản
- Nhược điểm:
- Tốc độ chậm
Câu 13: Trình bày khái niệm về bộ nhớ cache. Nêu vai trò của cache. Giải thích hai nguyên lý hoạt động của cache.
TL:
- Cache:
- Khái niệm:
- Là một thành phần của cấu trúc phân cấp của hệ thống bộ nhớ.
- Đóng vai trò trung gian, trung chuyển dữ liệu từ bộ nhớ chính về CPU và ngược lại.
- Vai trò:
- Tăng hiệu năng hệ thống và giảm giá thành sản xuất.
- Cache có khả năng chuẩn đoán và chuẩn bị trước các dữ liệu cần thiết cho CPU xử lý nên xác suất CPU phải trực tiếp truy nhập dữ liệu từ bộ nhớ chính là khá thấp.
- Hai nguyên lý hoạt động của cache:
- Nguyên lý lân cận về không gian: “Nếu một ô nhớ đang được truy nhập thì xác suất các ô nhớ liền kề với nó được truy nhập trong tương lai gần là rất cao”
- Nguyên lý lân cận về thời gian: “Nếu một ô nhớ đang được truy nhập thì xác suất nó được truy nhập lại trong tương lai gần là rất cao.”
Câu 14: Nêu các đặc tính kỹ thuật cơ bản của các chuẩn ghép nối IDE, SATA và SCSI. Đánh giá ưu nhược điểm của mỗi chuẩn.
TL:
Câu 15: Vẽ sơ đồ và mô tả nguyên lý đọc thông tin trên đĩa CD.
TL:
- Nguyên lý đọc thông tin trên đĩa CD:
- Tia laser từ đi-ốt phát laser đi qua bộ tách tia đến gương quay
- Gương quay được điều khiển bởi tín hiệu đọc, lái tia laser đến vị trí cần đọc
- Tia phản xạ từ đĩa phản ánh mức lồi lõm trên mặt đĩa quay trở lại gương
- Gương quay chuyển tia phản xạ về bộ tách tia và sau đó đến bộ cảm biến quang điện
- Bộ cảm biến quang điện chuyển đổi tia laser phản xạ thành tính hiệu điện đầu ra. Cường độ của tia laser được biểu diễn thành các mức tín hiệu ra.
Câu 16: Vẽ sơ đồ và mô tả nguyên lý hoạt động của máy in laser.
TL:
CHỊU ☺ TRONG GIÁO TRÌNH CÓ MÀ NGHĨ NÓ DÀI
Câu 17: Mô tả nguyên lý tạo hình ảnh của màn hình LCD:
TL:
CHỊU ☺TRONG GIÁO TRÌNH CÓ MÀ NGHĨ NÓ DÀI
PHẦN 3
Câu 1: Vẽ sơ đồ nguyên lý và nêu đặc điểm của hai dạng kiến trúc cache: Look Aside và Look Through. Trong hai dạng kiến trúc trên dạng nào đc sử dụng nhiều hơn trong thực tế.
TL:
- Đặc điểm:
- Cache và bộ nhớ chính cùng kết nối với Bus hệ thống (Cái đường dài dài ấy ☺ )
- Cache và bộ nhớ chính “thấy” chu kỳ bus của CPU tại cùng một thời điểm
- Ưu điểm:
- Thiết kế nhanh
- Miss nhanh
- Nhược: Hit chậm
- Đặc điểm:
- Cache nằm giữa CPU với bộ nhớ chính
- Cache “thấy” chu kỳ bus của CPU trước, sau đó chuyển chu kỳ cho bộ nhớ chính
- Ưu: Hit nhanh
- Nhược:
- Thiết kế phức tạp
- Đắt tiền
- Miss chậm
Câu 2: So sánh 3 phương pháp ánh xạ cache: ánh xạ trực tiếp, ánh xạ kết hợp đầy đủ và ánh xạ tập kết hợp? Phương pháp ánh xạ nào trong các phương pháp trên được sử dụng nhiều nhất.
TL:
- Giống: Cùng là phương pháp ánh xạ cache-memory. Cache được chia thành các dòng
- Khác nhau:
- Được sử dụng nhiều trong thực tế là Ánh xạ tập kết hợp vì nó nhanh chóng và ít xung đột
Câu 3: Nêu các phương pháp đọc ghi và các chính sách thay thế dòng cache. Tại sao thay thế dòng cache sử dụng phương pháp LRU có khả năng cho hệ số đoán đúng (hit) cao nhất?
TL:
- Đọc thông tin
- Trường hợp hit (mẩu tin cần đọc có trong cache):
- Mẩu tin được đọc từ cache vào CPU
- Bộ nhớ chính không tham gia
- Trường hợp miss (mẩu tin cần đọc không có trong cache):
- Mẩu tin trước hết được đọc từ bộ nhớ chính vào cache
- Sau đó được chuyển từ cache vào CPU
- Đây là trường hợp miss penalty: thời gian truy nhập mẩu tin bằng tổng thời gian truy cập cache vào bộ nhớ chính
- Ghi thông tin:
- Trường hợp hit (mẩu tin cần ghi có trong cache):
- Ghi thẳng (write through): mẩu tin được ghi đồng thời ra cache và bộ nhớ chính
- Ghi trễ (write back): mẩu tin trước hết được ghi ra cache và dòng chứa mẩu tin được ghi ra bộ nhớ chính khi dòng đó được thay thế
- Trường hợp miss (mẩu tin cần ghi không có trong cache)
- Ghi đọc lại: mẩu tin trước hết được ghi ra bộ nhớ chính và sau đó dòng chứa mẩu tin được đọc vào cache.
- Ghi không đọc lại: mẩu tin chỉ được ghi ra bộ nhớ chính (dòng chứa mẩu tin không được đọc vào cache)
- Chính sách thay thế xác định các dòng cache nào được chọn để thay thế bởi các dòng khác từ bộ nhớ
- Các chính sách thay thế:
- Ngẫu nhiên (Random)
- Vào trước ra trước (FIFO)
- Thay thế các dòng ít được sử dụng gần đây nhất(LRU)
- LRU:
- Các dòng cache ít được sử dụng gần đây nhất được lựa chọn để thay thế.
- Ưu:
- Có hệ số miss thấp nhất so với thay thế ngẫu nhiên và FIFO
- Do thay thế LRU có xem xét đến các dòng đang được sử dụng
Câu 4: RAID là gì? RAID có thể nâng cao được tính tin cậy, tốc độ truy nhập và dụng lượng hệ thống lưu trữ? Cấu hình RAID nào phù hợp hơn với máy chủ cơ sở dữ liệu trong ba loại RAID 0, RAID 1 và RAID 10? Giải thích?
TL:
- RAID (Redundant Array of Independent Disks) là một công nghệ tạo các thiết bị lưu trữ tiên tiến trên cơ sở đĩa cứng, nhằm đạt được các mục đích:
- Tốc dộ cao
- Tính tin cậy cao
- Dung lượng lớn
- Hai kỹ thuật chính được sử dụng trong RAID:
- Tạo lát đĩa (Disk Stripping):
- Ghi: Dữ liệu được chia thành các khối, mỗi khối được ghi đồng thời vào một đĩa độc lập
- Đọc: Các khối dữ liệu được đọc đồng thời ở các đĩa độc lập, và được ghép lại tạo dữ liệu hoàn chỉnh
- Tốc độ được cải thiện
- Soi gương đĩa (Disk Mirroring) :
- Ghi: Dữ liệu được chia thành các khối, mỗi khối ghi đồng thời vào “nhiều” đĩa độc lập.
- Tại mọi thời điểm ta luôn có nhiều hơn 1 bản sao vật lý của dữ liệu
- Tính tin cậy được cải thiện
- RAID 10:
- Ưu điểm:
- Đạt tốc độ cao và tính tin cậy cao
- Dung lượng RAID 10 bằng một nửa tổng dung lượng các đĩa độc lập tham gia tạo RAID
- Nhược điểm: Giá thành cao
Câu 5: Vẽ sơ đồ nguyên lý và nêu các đặc điểm chính của kiến trúc bus PCI và PCI – Express. Tại sao PCI-Express có khả năng hỗ trợ nhiều cặp thiết bị truyền dữ liệu đồng thời với tốc độ cao?
TL:
- Bus PCI-Express:
- Được cấu trúc từ các liên kết nối tiếp điểm đến điểm:
- Một cặp liên kết nối tiếp (theo 2 chiều trái ngược) tạo thành một luồng (lane)
- Các luồng được định tuyến qua một bộ chuyển mạch (crossbar switch) trên bảng mạch chính:
- Các khe cắm PCI Express vạt lý có thể chứa từ 1 đến 32 làn
- PCI Express sử dụng giao thức truyền nối tiếp và tránh được vấn đề timing skew (lệch thời gian) – một trong các yếu tố làm giảm tốc độ
- Các loại bus song song (ISA, PCI, AGP) đòi hỏi tất cả các bit của một đơn vị dữ liệu phải đến đích tại một thời điểm
- Do vấn đề timing skew, các bit của một đơn vị dữ liệu có thể không đến đích đồng thời gây ra khó khăn cho việc khôi phục đơn vị dữ liệu
- Phương thức truyền nối tiếp không gặp phải vấn đề timing skew do giao thức này không đòi hỏi tất cả các bit của một đơn vị dữ liệu phải đến đích tại một thời điểm.
Câu 6: Cơ chế ống lệnh (pipeline) của CPU thường gặp những vấn đề gì?
TL:
- Cơ chế ống lệnh (pipeline) của CPU thường gặp các vấn đề sau:
- Xung đột tài nguyên:
- Vấn đề này xảy ra khi hệ thống không cung cấp đủ tải nguyên phần cứng phục vũ CPU thực hiện đồng thời nhiều lệnh.
- Vấn đề tranh chấp dữ liệu:
- Là tranh chấp dữ liệu kiểu đọc sau khi ghi (RAW – Read After Write) là dạng xung đột hay gặp nhất
- Vấn đề nảy sinh do các lệnh rẽ nhánh:
- Do lệnh rẽ nhánh làm thay đổi nội dung của PC, chúng có thể phá vỡ tiến trình thực thiện tuần tự các lệnh trong ống lệnh.
Câu 7: Nêu một hướng giải quyết xung đột dữ liệu trong pipeline khi thực hiện đoạn chương trình sau:
ADD R1, R2, R3 ; R1 <= R2 + R3
ADD R4, R4, #300 ; R4 <= R4 + 300
CMP R1, #100 ; So sánh R1 với 100
SUB R5, #2000 ; R5 <= R5 + 2000
ADD R4, R4, #300 ; R4 <= R4 + 300
CMP R1, #100 ; So sánh R1 với 100
SUB R5, #2000 ; R5 <= R5 + 2000
TL:
- Xung đột tranh chấp dữ liệu kiểu Đọc sau khi ghi Để khắc phụ chèn thêm 2 lệnh NO-OP giữa ADD và CMP
Câu 8: Nêu một hướng giải quyết xung đột dữ liệu trong pipeline:
ADD R4, R4, #300 ; R4 <= R4 + 300
ADD R1, R1, R3 ; R1 <= R1 + R3
SUB R5, #2000 ; R5 <= R5 – 2000
SUB R1, R1, #100 ; R1 <= R1 – 100
ADD R1, R1, R3 ; R1 <= R1 + R3
SUB R5, #2000 ; R5 <= R5 – 2000
SUB R1, R1, #100 ; R1 <= R1 – 100
TL:
n
Câu 9: Cho đoạn chương trình sau (R1, R2 là các thanh ghi và cách lệnh theo quy ước LỆNH <ĐÍCH> <GỐC>):
- LOAD R2, #400
- LOAD R1, #1200
- STORE (R1), R2
- SUBSTRACT R2, #20
- ADD 1200, #10
- ADD R2, (R1)
a. Xác định chế độ địa chỉ và ý nghĩa của từng lệnh
b. Xác định giá trị thanh ghi R2 sau khi thực hiện xong lệnh số (6)
TL:
- Sau bước 6 thì R2 có giá trị R2 = 790
Câu 10: Cho đoạn chương trình sau (R1, R2 là các thanh ghi và các lệnh quy ước theo dạng LỆNH <ĐÍCH> <GỐC>):
- LOAD R2, #500
- LOAD R1, #2000
- STORE (R1), R2
- ADD 2000, #30
- SUBSTRACT R2, #15
- ADD R2, (R1)
a. Xác định chế độ địa chỉ và ý nghĩa từng lệnh
b. Xác định giá trị R2 sau khi thực hiện xong lệnh số 6
b. Xác định giá trị R2 sau khi thực hiện xong lệnh số 6
TL:
- Kết quả sau bước 6 ta có R2 = 1015
BÀI TẬP
Câu 11: Cho một dãy số nguyên gồm 50 phần tử lưu trong bộ nhớ bắt đầu từ địa chỉ 1000. Viết chương trình sử dụng tập lệnh của CPU tính:
- Tổng của các số dương – lưu kết quả vào ô nhớ có địa chỉ 1800
- Tổng của tất cả các số trong dãy – lưu kết quả vào ô nhớ có địa chỉ 2010
TL:
CLEAR R0;
CLEAR R1;
LOAD R2, #50;
- Câu a:
- Loop:
- LOAD R3, 1000(R0);
- BRANCH_IF > 0, Add; // “Chú thích cho mọi người, không phải ghi vào bài”: Nếu yêu cầu tính tổng các số âm thì thay < 0
- Continue:
- INCREMENT R0;
- DECREMENT R2;
- BRANCH_IF > 0 Loop;
- JUMP Exit;
- Add:
- ADD R1, R3;
- JUMP Continue;
- Exit:
- STORE 1800, R1;
- Câu b:
- Loop:
- LOAD R3, 1000(R0);
- Add;
- Continue:
- INCREMENT R0;
- DECREMENT R2;
- BRANCH_IF > 0 Loop;
- JUMP Exit;
- Add:
- ADD R1, R3;
- JUMP Continue;
- Exit:
- STORE 2010, R1;
Câu 12: Cho một máy tính có độ rộng bus dữ liệu là X bit, quản lý bộ nhớ có dung lượng tối đa là Y GB, bộ nhớ cache có dung lượng Z MB với dòng cache T KB. Hãy xác định các thành phần địa chỉ của bộ nhớ khi sử dụng phương pháp:
- Ánh xạ trực tiếp
- Ánh xạ đầy đủ
- Ánh xạ tập kết hợp (n dòng)
TL:
NẾU ĐỀ BÀI KHÔNG CHO ĐỘ RỘNG BUS DỮ LIỆU THÌ MẶC ĐỊNH X = 8 bit=1BYTE
- Ánh xạ trực tiếp:
- Ta có:
- Đổi X bit = K Byte
- Kích thước dòng Cache là T KB => có 210. TK byte = 2M byte.
Vậy Word = M bit - Dung lượng Cache = Z MB => có 220.Z/K.2M = 2N dòng
- Vậy Line = N bit
- Địa chỉ trang Tag: Y GB = Y.230 = 2E => Cần E bit địa chỉ tổng cộng để địa chỉ hóa các ô nhớ
Tag = E – Word – Line = E – M – N (bit)
- Ánh xạ đầy đủ:
- Ta có:
- Đổi X bit = K Byte
- Kích thước dòng Cache là T KB => có 210.T/K = 2M byte
Vậy Word = M bit - Địa chỉ Tag Y GB = Y.230 = 2E => Cần E bit địa chỉ tổng cộng để địa chỉ hóa các ô nhớ
Tag = E – Word = E – M (bit) - Ánh xạ tập kết hợp:
- Ta có:
- Đổi X bit = K Byte
- Kích thước dòng Cache = T KB => có 210. T./K = 2M byte
Vậy Word = M bit - Dung lượng cache = Z MB => có 220.Z/K.n.2M = 2N (dòng/đường)
Vậy Set = N bit - Địa chỉ Tag: Y GB = Y.230 = 2E => Cần E bit địa chỉ tổng cộng để địa chỉ hóa các ô nhớ
Tag = E – Set - Word = E - N - M (bit)
Nhận xét
Đăng nhận xét