1. Trang chủ
  2. » Giáo Dục - Đào Tạo

GK HK II 2014 2015

2 52 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 635,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giả sử một chương trình Y kh c được chạy trên máy tính, mất 0.05s.. Biết chương trình Y chỉ chứa hai loại lệnh là A và B; CPI trung bình của m y t nh đối với chương trình Y này là 2.5; v

Trang 1

Học kỳ II – năm 2014-2015 PHẦN 2 TỰ LUẬN (4đ) – 2 câu

1 [2đ] Chuyển đoạn lệnh C dưới đây sang mã assembly MIPS (biết các biến đều là số nguyên và mỗi phần tử

của mảng chứa 1 từ nhớ/4 bytes)

 Các biến tương ứng với các thanh ghi trong ngoặc: i ($s0), j ($s1), final ($s2)

 A là mảng có địa chỉ nền/cơ sở lưu trong thanh ghi $s3

C code

if (i < j)

{

final = A[i];

i = i + 1;

}else

{

final = A[j];

j = j - 1;

}

MIPS code (sinh viên làm bài tại đây)

(Dưới đây là code gợi ý, tất cả code tương tự đúng đều được chấp nhận)

bge $s0, $s1, else sll $t0, $s0, 2 add $t0, $t0, $s3

lw $s2, 0($t0) addi $s0, $s0, 1

j exit else:

sll $t0, $s1, 2 add $t0, $t0, $s3

lw $s2, 0($t0) addi $s0, $s1, -1 exit:

2 [2đ] Cho một m y t nh có tập lệnh g m 5 lớ lệnh , B, C, D E CPI tương ứng của từng lớp lệnh như

bảng sau:

CPI Class A CPI Class B CPI Class C CPI Class D CPI class E

a Giả sử một chương trình X chứa 15% lệnh nhóm A, 10% lệnh nhóm B, 25% lệnh nhóm C, 30% lệnh nhóm

D và 20% lệnh nhóm E CPI trung bình của m y t nh tương ứng với chương trình X l bao nhiêu?

b Giả sử một chương trình Y kh c được chạy trên máy tính, mất 0.05s Biết chương trình Y chỉ chứa hai loại lệnh là A và B; CPI trung bình của m y t nh đối với chương trình Y này là 2.5; và máy tính có tần số 2GHz Hỏi chương trình Y chứa bao nhiêu lệnh A, bao nhiêu lệnh B?

(sinh viên làm bài tại đây)

Trang 2

Đề 001 (Tài liệu tham khảo xem trang thứ 4 của đề thi)

2

a CPI trung bình chương trình X = 0.15 x 4 + 0.1 x 3 + 0.25 x 2 + 0.3 x 1 + 0.2 x 2 = 2.1

b Không t n tại một chương trình Y như thế

Cách 1 Lập luận:

Chương trình Y chỉ chứa hai nhóm lệnh A và B; CPI của A là 4 và CPI của B là 3; vậy CPI trung bình của chương trình Y hải lớn hơn 3 nhỏ hơn 4 Nếu chương trình Y có CPI chỉ bằng 2.5  không t n tại một chương trình như thế

Cách 2 Tính toán:

Đặt x là số lệnh A, y là số lệnh B

CPU time (thời gian chạy chương trình) = 0.05 s

CPI (trung bình chương trình Y) = 2.5

Clock rate = 2 GHz = 2 x 109Hz

 Instruction count (tổng số lệnh chương trình = (0.05 x 2 x 109)/2.5 = 0.04 x 109

 x + y = 0.04 x 109 (1)

Mặt khác, ta có:

CPI (trung bình chương trình Y) = x

x y CPI(lệnh A) + y

x y CPI(lệnh B)

Từ (1)  2.5 = 9

0.04 10

x

0.04 10

y

× 3

 4x + 3y = 0.1 × 109 (2)

Giải hệ hương trình (1) (2), với điều kiện x và y phải là số không âm  vô nghiệm Không t n tại một chương trình Y như ậy

Lưu ý:

Câu a: 1 điểm

Câu b: 1 điểm (Sinh viên đưa ra được hệ phương trình (1) và (2) nhưng không kết luận được cho 0.75)

Ngày đăng: 25/10/2019, 11:13

w