Câu hỏi ôn tập môn CẤU TRÚC MÁY TÍNH Giảng viên TS Trương Quang Vinh Chương 1 1 Trình bày tổ chức của máy tính theo các cấp 2 Giải thích kỹ thuật pipeline trong tổ chức máy tính 3 Giả sử một CPU có 5[.]
Trang 1Câu hỏi ôn tập môn CẤU TRÚC MÁY TÍNH Giảng viên: TS Trương Quang Vinh
Chương 1:
1 Trình bày tổ chức của máy tính theo các cấp
2 Giải thích kỹ thuật pipeline trong tổ chức máy tính
3 Giả sử một CPU có 5 bước để thực hiện 1 lệnh, mỗi bước thực hiện trong thời gian 5µs CPU có cấu trúc pipeline 5 tầng Hỏi CPU cần bao nhiêu thời gian để hoàn tất 100 lệnh
4 Giả sử một CPU có 7 tầng pipeline, nếu có một chương trình với 200 lệnh thì nó cần bao nhiêu chu kỳ để thực thi hết chương trình này
5 Cho một CPU có 5 bước để thực hiện 1 lệnh được mô tả như sau:
Biết 1 chu kỳ là 1 µs
Để thực thi một chương trình với 55 lệnh thì CPU cần bao nhiêu thời gian?
6 Hãy cho biết các hazard có thể có trong kỹ thuật pipeline, và cho ví dụ
7 Khi có lệnh đang thực thi mà phụ thuộc vào lệnh load trước đó thì CPU giải quyết thế nào?
Chương 2:
1 Trình bày các hoạt động khi một ngắt xảy ra
2 Làm cách nào để chương trình phục vụ ngắt quay trở lại chương trình chính từ nơi mà chương trình này rời khỏi
3 Khi có nhiều ngoại vi có khả năng yêu cầu ngắt, CPU phải có nhiều chân nhận tín hiệu yêu cầu ngắt Khi đó CPU cần phần cứng gì để có thể nhận được nhiều tín hiệu ngắt
4 Khi có nhiều ngoại vi yêu cầu ngắt cùng một lúc thì CPU giải quyết ra sao?
5 Nếu một yêu cầu ngắt chưa được chấp nhận, yêu cầu ngắt này có được ghi nhận không, hay phải yêu cầu lại? Giải thích
6 Khi CPU đang chạy một ISR của một ngoại vi nào đó, nếu có một ngoại vi khác yêu cầu ngắt, CPU
sẽ giải quyết ra sao?
7 Giải thích sự khác nhau giữa ngắt mềm và ngắt cứng Cho ví dụ
8 Trình bày trình tự thiết lập ngắt khi sử dụng chip 8259A
9 Vẽ sơ đồ kết nối điều khiển 16 ngắt sử dụng chip 8259A
10 Vẽ sơ đồ kết nối điều khiển 32 ngắt sử dụng chip 8259A
Chương 3-8:
1 Hãy mô tả quy trình xử lý lệnh của máy MIPS
2 Trình bày cách thức mà bộ xử lý MIPS biết ô nhớ nào trong bộ nhớ để tìm nạp lệnh tiếp theo
Trang 23 Hãy mô tả các trường của mã máy cho lệnh add trong máy MIPS Nêu rõ số bit cho các trường
4 Hãy viết đoạn chương trình cho máy MIPS để chuyển dữ liệu 10 word từ 0000 0200h sang 0000 0400h
5 Hãy viết mã máy cho đoạn chương trình sau
a) Add $t2, $s4, $s5
Sub $t2, $s4, $s5
b) Lw $s2, 100($s3)
Addi $s1, $s2, 4
Sw $s1, 100($s3)
6 Giả sử các biến A,B,C,D được lưu trong thanh ghi $s1, $s2, $s3, $s4 Hãy viết chương trình hợp ngữ cho máy MIPS để thực hiện hàm sau: A = B – C + D + 10
7 Cho một mảng A[] với 8 phần tử Phần tử A[0] được lưu trong $s5 Hãy viết đoạn chương trình hợp ngữ cho máy MIPS để thực hiện phép tính sau: A[5] = A[3] – 2
Chuyển sang mã máy đoạn chương trình trên
8 Cho một mảng B[] với 10 phần tử Phần tử B[0] được lưu trong $s4 Các biến x,y,z được lưu trong $s3, $s4, $s5 Hãy viết đoạn chương trình hợp ngữ cho máy MIPS để thực hiện phép tính sau: y = B[x] + z
9 Cho đoạn chương trình sau:
Bne $s1, $s2, Label_1
Add $s1, $s0, $s2
Label1: …
Hãy chuyển đoạn chương trình trên sang mã máy
10 GIả sử biến A, B, C được lưu trong $s0, $s1, $s2 Hãy vi ết đoạn chương trình hợp ngữ cho máy MIPS để thực hiện đoạn lệnh sau:
If (A < B) then
C = A + B;
Else
C = A – B;
11 Hãy viết mã máy cho đoạn lệnh sau:
Loop: sll $t2, $s0, 3
Add $t2, $t2, $t3
Lw $t1, 8($t2)
Bne $t1, $s5, Loop
Addi $t1, $t1, 1
12 Hãy viết mã máy cho đoạn lệnh sau:
0x00200020 beq $s1, $s2, ELSE
0x00200024 add $s3, $s1, $s2
0x00200028 j EXIT
0x0020002c ELSE: sub $s3, $s1, $s2
0x00200030 EXIT: addi $s3, $s3, 2
Trang 313 Giải thích sự khác nhau của cách định địa chỉ theo Big Endian và Little Endian
14 Hãy viết thủ tục bằng mã hợp ngữ để tính hàm sau: F = |A – B|
15 Hãy viết thủ tục đệ quy bằng mã hợp ngữ để tính hàm sau:
int Sum(int n) {
If (n<1) return 1;
Else return (n + Sum(n-1));
16 Hãy viết thủ tục đệ quy bằng mã hợp ngữ để tính hàm sau:
int Fibonacci(int n) {
If (n<2) return n;
Else return (Fibonacci(n) + Fibonacci(n-1));
17 Hãy thiết kế bộ ALU để thực hiện các lệnh theo bảng sau:
s0 c_in Kết quả Công dụng
1 1 A + B + 1 cộng có số nhớ
18 Hãy thiết kế bộ ALU để thực hiện 8 lệnh sau:
19 Hãy thiết kế bộ ALU để thực hiện 4 lệnh sau:
Trang 40 0 A or B or
20 Cho hình khối RegFile và ALU như hình
Đối với lệnh slt,
slt $t0, $s0, $s1 # if $s0 < $s1
# then $t0 = 1
# else $t0 = 0
1 (hoặc 0) đến từ đâu để lưu vào trong $t0 của tập thanh ghi ở cuối chu kỳ?
21 Hãy cho ví dụ các chế độ định địa chỉ sau:
a Địa chỉ thanh ghi
b Địa chỉ nền
c Địa chỉ trực tiếp
d Địa chỉ tương đối PC
e Địa chỉ giả trực tiếp
22 Cho hình vẽ đường dữ liệu của máy MISP sau:
Hãy vẽ thêm tín hiệu điều khiển RegWrite, ALUSrc, ALU control, PCSrc, MemWrite, MemRead, MemtoReg
Trang 523 Cho bảng điều khiển ALU sau:
F5 F4 F3 F2 F1 F0 ALU
Op 1
ALU Op 0
ALU control 3
ALU control 2
ALU control 1
ALU control 0
Hãy vẽ sơ đồ logic cho các tín hiệu điều khiển ALU control 3, ALU control 2, ALU control 1, ALU
control 0
24 Hãy cho biết các đường dữ liệu của lệnh rẽ nhánh (tô đậm đường dữ liệu trong hình vẽ)
Trang 625 Hãy vẽ đường dữ liệu cho lệnh loại R vào hình vẽ sau:
Chương 9-10:
Trang 71 Hãy mô tả các bus AMBA, và vẽ hình minh họa cấu trúc sử dụng bus AMBA
2 Tốc độ cực đại của bus thông thường bị giới hạn bởi yếu tố gì?
3 Tại sao phải tách biệt bus dành cho bộ xử lý, dành cho bộ nhớ, dành cho IO và dành cho bộ giao tiếp chuẩn
4 Hãy cho biết các thứ bậc bộ nhớ trong máy tính
5 Phân biệt sự khác nhau của DRAM và SRAM
6 Hãy mô tả hoạt động của bộ nhớ Cache
7 Hãy giải thích thế nào là cache miss và cache hit
8 Một máy tính có chu kỳ đọc 1 word trong bộ nhớ khi bị cache miss như sau:
• 1 chu kỳ để truyền địa chỉ
• 23 chu kỳ để đọc DRAM
• 2 chu kỳ để trả dữ liệu
Hãy tính số byte được truyền cho mỗi chu kỳ clock đối với miss đơn là bao nhiêu?
9 Giả sử một máy tính có thời gian cache hit là 2 chu kỳ, thời gian miss penalty là 20 chu kỳ, tỉ lệ miss là 35% Hãy tính thời gian truy cập bộ nhớ trung bình của máy tính
10 Cho một máy tính có tỉ lệ hit là 60%, thời gian cho cache hit là 1 chu kỳ, thời gian cho miss penalty là 15 chu kỳ Hãy tính thời gian truy cập bộ nhớ trung bình của máy tính