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

GK HKI 2015 2016

3 88 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 3
Dung lượng 694,61 KB

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

Nội dung

ẬT MÁY TÍNH Tài liệu tham khảo xem trang thứ 5 của đề thi MÔN KIẾN TRÚC MÁY TÍNH Thời gian: 60 phút sinh viên không được phép xem tài liệu HỌ VÀ TÊN SV: .... STT: Điểm: ủa i i: Lưu

Trang 1

ẬT MÁY TÍNH

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

MÔN KIẾN TRÚC MÁY TÍNH

Thời gian: 60 phút (sinh viên không được phép xem tài liệu)

HỌ VÀ TÊN SV: MSSV: STT:

Điểm: ủa i i:

Lưu : Phần trắc nghiệm sinh viên tô vào “Bảng trả lời trắc nghiệm”

Phần tự luận si viê làm ài rê đề

(Nếu sinh viên làm bài trên đề bị lỗi, có thể sử dụng tờ giấy rời bấm vào đề để làm và phải được giám thị chấp

thuận)

Đ p PHẦN 1 TRẮC NGHIỆM – 9 câu

(Sinh viên thắc mắ đ p rắc nghiệm liên hệ gi viê để có thể xem lại bài)

PHẦN 2 - TỰ LUẬN

1 Tìm từ hoặc cụm từ trong danh sách dưới đây phù hợp nhất cho các câu hỏi từ 1 – 8 Chỉ sử dụng một câu trả lời duy nhất cho một câu hỏi

2 Desktop computer 3 Multicore microprocessor

4 Integrated circuit 5 Assembler

6 Embedded computer 7 Assembly

1.1 Máy tính được thiết kế cho người dùng đơn lẻ, thường tích hợp màn hình, chuột và bàn phím [0.25đ]

Trả lời: Desktop computer (2)

1.2 Máy tính bên trong các thiết bị điện tử, thường chỉ chạy một ứng dụng hoặc một nhóm ứng dụng nhất định,

và là lớp máy tính có số lượng lớn nhất hiện nay [0.25đ]

Trả lời: Embedded computer (6)

1.3 Bộ xử lý của máy tính [0.25đ]

Trả lời: Processor (8)

1.4 Một vi xử lý chứa nhiều bộ xử lý bên trong [0.25đ]

Trả lời: Multicore microprocessor (3)

1.5 Một thiết bị mà trong đó là sự kết hợp của từ chục lên đến triệu transistors [0.25đ]

Trả lời: Integrated circuit (4)

1.6 Một chương trình dịch các lệnh hợp ngữ sang mã máy [0.25đ]

Trả lời: Assembler(5)

1.7 Hợp ngữ [0.25đ]

Trả lời: Assembly (7)

1.8 Ngôn ngữ cấp thấp nhất của máy tính [0.25đ]

Trả lời: Machine language (9)

Trang 2

2

2 Chuyển đoạn lệnh C dưới đây sang mã Assembly của bộ xử lý MIPS (với các biến và mảng đều là số

nguyên)

Biết ba biến i, k, value được lưu trữ lần lượt trong thanh ghi $s0, $s1, $s3 và địa chỉ nền (base address) của

mảng A lưu trong thanh ghi $s2 [2đ]

i = k − 1;

while (i > 0 ) {

A[i + 1] = A[i];

i = i − 1;

}

A[i + 1] = value;

Đ p :

Code tham khảo (Các code kiểu khác đúng vẫn được tính điểm)

while: ble $s0, $zero, exit_while

addi $s0, $s0, −1

j while

Lưu 1: tại dòng lệnh cuối “A[i+1] = value”, nhiều sinh viên làm tắt, thay vì 4 dòng lệnh assembly như trên,

các bạn dùng “sw $s3, 4($t0)” (tận dụng code ở trên do $t0 đang chứa địa chỉ của A[i]) Có hai vấn đề ở đây:

1 Khi chạy, nếu while được thực hiện thì trước khi ra khỏi while, i đã bị trừ đi 1, do đó địa chỉ của A[i+1] trong A[i+1] = value thực chất là địa chỉ của A[i] khi thực hiện while lần cuối

Vì vậy, phải là “sw $s3, 0($t0)” Nhưng điều này vẫn chưa đúng hoàn toàn

2 Có thể khi chạy chương trình, nếu i > = 0 thì các dòng lệnh trong while sẽ không được thực hiện, mà chuyển sang thực hiện A[i+1] = value Lúc này nếu không tính lại địa chỉ của A[i+1] từng bước mà dùng tắt “sw $s3, 0($t0)” cũng sẽ sai Vì các dòng code trong while không hề được thực hiện thì $t0 hiện không phải chứa địa chỉ của A[i]

Lưu 2: “ble $s0, $zero, exit_while” là lệnh giả, có thể thay thế bằng hai lệnh

slt $t5, $zero, $s0 beq $t5, $zero, exit_while

Lưu 3: Quy tắc của while là điều kiện vòng lặp phải xét trước, nếu không thỏa thì thoát ra, không thực hiện

các lệnh bên trong đó nữa Một số bạn cho các câu lệnh trong while thực hiện trước rồi mới xét tới điều kiện (ví

dụ “ble $s0, $zero, exit_while” đặt sau “addi $s0, $s0, −1”), điều này sẽ bị sai trong trường hợp điều kiện vòng lặp không thỏa vì A[i] = A[i+1] và i = i −1 vẫn bị thực hiện dù điều kiện không thỏa

Chấm bài:

Sinh viên bị trừ 0.5 nếu sai giống phầ lưu 1 ở trên

Sai cấu trúc while, A[i + 1] = A[i] và A[i + 1] = value, mỗi phần trừ 0.5

Sai i = k – 1 và i = i – 1 mỗi phần trừ 0.25

Trang 3

3

3 Cho 2 bộ xử lý P1 và P2 có tần số xung clock (clock rate) và CPI tương ứng với 4 nhóm lệnh như sau:

Clock rate CPI của

nhóm lệnh Arithmetic

CPI của nhóm lệnh Store

CPI của nhóm lệnh Load

CPI của nhóm lệnh Branch

Cho một chương trình A chứa 106 lệnh, trong đó bao gồm 10% lệnh thuộc nhóm Arthmetic, 20% lệnh thuộc nhóm Store, 50% lệnh thuộc nhóm Load, 20% lệnh thuộc nhóm Branch

a Chương trình A nếu chạy trên hai bộ xử lý P1 và P2, hỏi bộ xử lý nào chạy nhanh hơn và nhanh hơn bao

nhiêu lần? [0.5đ]

b Tính CPI trung bình cho chương trình A khi chạy trên P1 và khi chạy trên P2? [0.5đ]

c Nếu CPI của nhóm lệnh Branch của P1 giảm xuống một nửa thì việc chạy chương trình A trên P1 sẽ được

cải thiện như thế nào? [0.5đ]

Đ p :

Time(P2) = 0.8 × 10 -3 (s)

 B xử P2 chạy a ơ P1 và a gấp 1.4/0.8 = 1.75 lần

Chấm điểm: Thiếu a ơ gấp mấy lần trừ 0.25đ

Các bạ í a ơ dưa rê IPS vẫ đượ í điểm

b CPI trung bình (P1) = 2.8

CPI trung bình (P2) = 2

c Nếu CPI của nhóm lệnh Branch của P1 giảm xuống m t nửa thì thời gian chạy ươ g rì trên P1:

ime’(P1) = 1.2 × 10 -3 (s)

Time (P1) = 1.4 × 10 -3 (s)

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w